\hypertarget{namespaceShipCAD}{}\section{Ship\+C\+AD Namespace Reference}
\label{namespaceShipCAD}\index{Ship\+C\+AD@{Ship\+C\+AD}}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{classShipCAD_1_1BackgroundImage}{Background\+Image}
\begin{DoxyCompactList}\small\item\em Background Images for a viewport. \end{DoxyCompactList}\item 
struct \hyperlink{structShipCAD_1_1ChooseColorDialogData}{Choose\+Color\+Dialog\+Data}
\begin{DoxyCompactList}\small\item\em color chooser dialog exchange \end{DoxyCompactList}\item 
struct \hyperlink{structShipCAD_1_1ChooseLayerDialogData}{Choose\+Layer\+Dialog\+Data}
\begin{DoxyCompactList}\small\item\em layer chooser dialog exchange \end{DoxyCompactList}\item 
struct \hyperlink{structShipCAD_1_1ColorChanger}{Color\+Changer}
\begin{DoxyCompactList}\small\item\em original and new color in preferences dialog exchange \end{DoxyCompactList}\item 
struct \hyperlink{structShipCAD_1_1CompareControlPointZOrder}{Compare\+Control\+Point\+Z\+Order}
\item 
struct \hyperlink{structShipCAD_1_1ControlFaceGrid}{Control\+Face\+Grid}
\item 
class \hyperlink{classShipCAD_1_1Controller}{Controller}
\begin{DoxyCompactList}\small\item\em \hyperlink{namespaceShipCAD}{Ship\+C\+AD} model controller, contains editing actions. \end{DoxyCompactList}\item 
struct \hyperlink{structShipCAD_1_1CPointGrid}{C\+Point\+Grid}
\item 
struct \hyperlink{structShipCAD_1_1CrosscurvesData}{Crosscurves\+Data}
\begin{DoxyCompactList}\small\item\em crosscurves data \end{DoxyCompactList}\item 
class \hyperlink{classShipCAD_1_1CurveFaceShader}{Curve\+Face\+Shader}
\item 
class \hyperlink{classShipCAD_1_1DeleteElementsCollection}{Delete\+Elements\+Collection}
\item 
struct \hyperlink{structShipCAD_1_1DelftSeriesResistance}{Delft\+Series\+Resistance}
\item 
class \hyperlink{classShipCAD_1_1DevelopedPatch}{Developed\+Patch}
\begin{DoxyCompactList}\small\item\em Portion of developed surface. \end{DoxyCompactList}\item 
class \hyperlink{classShipCAD_1_1Entity}{Entity}
\begin{DoxyCompactList}\small\item\em base class for all non-\/surface drawable elements \end{DoxyCompactList}\item 
struct \hyperlink{structShipCAD_1_1ExtrudeEdgeDialogData}{Extrude\+Edge\+Dialog\+Data}
\begin{DoxyCompactList}\small\item\em extrude edge dialog exchange \end{DoxyCompactList}\item 
class \hyperlink{classShipCAD_1_1FaceShader}{Face\+Shader}
\item 
class \hyperlink{classShipCAD_1_1FileBuffer}{File\+Buffer}
\begin{DoxyCompactList}\small\item\em in-\/memory buffer for a binary file (F\+R\+E\+E!\+Ship format) \end{DoxyCompactList}\item 
class \hyperlink{classShipCAD_1_1FileReadError}{File\+Read\+Error}
\item 
class \hyperlink{classShipCAD_1_1FileSaveError}{File\+Save\+Error}
\item 
struct \hyperlink{structShipCAD_1_1FirstCPointPairPredicate}{First\+C\+Point\+Pair\+Predicate}
\item 
struct \hyperlink{structShipCAD_1_1FirstEdgePointPredicate}{First\+Edge\+Point\+Predicate}
\item 
struct \hyperlink{structShipCAD_1_1FirstFacePointPredicate}{First\+Face\+Point\+Predicate}
\item 
struct \hyperlink{structShipCAD_1_1FirstPointPairPredicate}{First\+Point\+Pair\+Predicate}
\item 
class \hyperlink{classShipCAD_1_1Flowline}{Flowline}
\item 
class \hyperlink{classShipCAD_1_1HydrostaticCalc}{Hydrostatic\+Calc}
\begin{DoxyCompactList}\small\item\em Initialize and execute Hydrostatics Data calculation for a waterplane. \end{DoxyCompactList}\item 
struct \hyperlink{structShipCAD_1_1HydrostaticsData}{Hydrostatics\+Data}
\begin{DoxyCompactList}\small\item\em Hydrostatics Calculation results. \end{DoxyCompactList}\item 
struct \hyperlink{structShipCAD_1_1InsertPlaneDialogData}{Insert\+Plane\+Dialog\+Data}
\begin{DoxyCompactList}\small\item\em insert plane dialog exchange \end{DoxyCompactList}\item 
class \hyperlink{classShipCAD_1_1Intersection}{Intersection}
\begin{DoxyCompactList}\small\item\em List of curves intersecting hull. \end{DoxyCompactList}\item 
class \hyperlink{classShipCAD_1_1IntersectionData}{Intersection\+Data}
\begin{DoxyCompactList}\small\item\em Record of geometry intersections. \end{DoxyCompactList}\item 
struct \hyperlink{structShipCAD_1_1IntersectionFinder}{Intersection\+Finder}
\begin{DoxyCompactList}\small\item\em find intersections in an Intersection\+Vector \end{DoxyCompactList}\item 
struct \hyperlink{structShipCAD_1_1IntersectionsDialogData}{Intersections\+Dialog\+Data}
\begin{DoxyCompactList}\small\item\em intersections dialog exchange \end{DoxyCompactList}\item 
struct \hyperlink{structShipCAD_1_1IntersectionSorter}{Intersection\+Sorter}
\begin{DoxyCompactList}\small\item\em sorting intersections in an Intersection\+Vector \end{DoxyCompactList}\item 
struct \hyperlink{structShipCAD_1_1IntersectLayersDialogData}{Intersect\+Layers\+Dialog\+Data}
\begin{DoxyCompactList}\small\item\em intersect layer dialog exchange \end{DoxyCompactList}\item 
struct \hyperlink{structShipCAD_1_1JPEGImage}{J\+P\+E\+G\+Image}
\begin{DoxyCompactList}\small\item\em jpeg image as stored in Free!\+Ship binary file \end{DoxyCompactList}\item 
struct \hyperlink{structShipCAD_1_1KAPERResistance}{K\+A\+P\+E\+R\+Resistance}
\item 
struct \hyperlink{structShipCAD_1_1LayerDialogData}{Layer\+Dialog\+Data}
\begin{DoxyCompactList}\small\item\em layer properties dialog exchange \end{DoxyCompactList}\item 
struct \hyperlink{structShipCAD_1_1LayerProperties}{Layer\+Properties}
\item 
struct \hyperlink{structShipCAD_1_1LayerPropertiesForDialog}{Layer\+Properties\+For\+Dialog}
\begin{DoxyCompactList}\small\item\em layer properties \end{DoxyCompactList}\item 
class \hyperlink{classShipCAD_1_1LightedFaceShader}{Lighted\+Face\+Shader}
\item 
class \hyperlink{classShipCAD_1_1LineShader}{Line\+Shader}
\item 
class \hyperlink{classShipCAD_1_1Marker}{Marker}
\item 
struct \hyperlink{structShipCAD_1_1MirrorDialogData}{Mirror\+Dialog\+Data}
\begin{DoxyCompactList}\small\item\em mirror dialog exchange \end{DoxyCompactList}\item 
class \hyperlink{classShipCAD_1_1MonoFaceShader}{Mono\+Face\+Shader}
\item 
struct \hyperlink{structShipCAD_1_1NewModelDialogData}{New\+Model\+Dialog\+Data}
\begin{DoxyCompactList}\small\item\em new model dialog exchange \end{DoxyCompactList}\item 
class \hyperlink{classShipCAD_1_1NURBSurface}{N\+U\+R\+B\+Surface}
\item 
class \hyperlink{classShipCAD_1_1ParseError}{Parse\+Error}
\item 
struct \hyperlink{structShipCAD_1_1PatchPoints}{Patch\+Points}
\begin{DoxyCompactList}\small\item\em Store \hyperlink{classShipCAD_1_1SubdivisionPoint}{Subdivision\+Point} to unrolled point mapping. \end{DoxyCompactList}\item 
struct \hyperlink{structShipCAD_1_1PickRay}{Pick\+Ray}
\begin{DoxyCompactList}\small\item\em a pick ray (line) \end{DoxyCompactList}\item 
class \hyperlink{classShipCAD_1_1Plane}{Plane}
\item 
struct \hyperlink{structShipCAD_1_1PointGrid}{Point\+Grid}
\item 
class \hyperlink{classShipCAD_1_1Preferences}{Preferences}
\item 
struct \hyperlink{structShipCAD_1_1PreferencesDialogData}{Preferences\+Dialog\+Data}
\begin{DoxyCompactList}\small\item\em preferences dialog exchange \end{DoxyCompactList}\item 
class \hyperlink{classShipCAD_1_1ProjectSettings}{Project\+Settings}
\item 
struct \hyperlink{structShipCAD_1_1ProjectSettingsDialogData}{Project\+Settings\+Dialog\+Data}
\begin{DoxyCompactList}\small\item\em project settings dialog exchange \end{DoxyCompactList}\item 
struct \hyperlink{structShipCAD_1_1RotateDialogData}{Rotate\+Dialog\+Data}
\begin{DoxyCompactList}\small\item\em rotate dialog exchange \end{DoxyCompactList}\item 
class \hyperlink{classShipCAD_1_1Shader}{Shader}
\item 
class \hyperlink{classShipCAD_1_1ShipCADModel}{Ship\+C\+A\+D\+Model}
\item 
class \hyperlink{classShipCAD_1_1Spline}{Spline}
\begin{DoxyCompactList}\small\item\em spline entity used in intersections etc \end{DoxyCompactList}\item 
class \hyperlink{classShipCAD_1_1SubdivisionBase}{Subdivision\+Base}
\begin{DoxyCompactList}\small\item\em the base class for all subdivision points, edges and faces \end{DoxyCompactList}\item 
class \hyperlink{classShipCAD_1_1SubdivisionControlCurve}{Subdivision\+Control\+Curve}
\item 
class \hyperlink{classShipCAD_1_1SubdivisionControlEdge}{Subdivision\+Control\+Edge}
\item 
class \hyperlink{classShipCAD_1_1SubdivisionControlFace}{Subdivision\+Control\+Face}
\item 
class \hyperlink{classShipCAD_1_1SubdivisionControlPoint}{Subdivision\+Control\+Point}
\begin{DoxyCompactList}\small\item\em 3D Control point \end{DoxyCompactList}\item 
class \hyperlink{classShipCAD_1_1SubdivisionEdge}{Subdivision\+Edge}
\item 
class \hyperlink{classShipCAD_1_1SubdivisionFace}{Subdivision\+Face}
\item 
class \hyperlink{classShipCAD_1_1SubdivisionLayer}{Subdivision\+Layer}
\begin{DoxyCompactList}\small\item\em Layer, collection of Subdivision\+Control\+Faces. \end{DoxyCompactList}\item 
class \hyperlink{classShipCAD_1_1SubdivisionPoint}{Subdivision\+Point}
\begin{DoxyCompactList}\small\item\em 3D Point \end{DoxyCompactList}\item 
class \hyperlink{classShipCAD_1_1SubdivisionSurface}{Subdivision\+Surface}
\begin{DoxyCompactList}\small\item\em Subdivision Surface. \end{DoxyCompactList}\item 
struct \hyperlink{structShipCAD_1_1SurfaceCheckResult}{Surface\+Check\+Result}
\begin{DoxyCompactList}\small\item\em used to collect statistics when doing the model check \end{DoxyCompactList}\item 
class \hyperlink{classShipCAD_1_1TempVarChange}{Temp\+Var\+Change}
\item 
class \hyperlink{classShipCAD_1_1UndoObject}{Undo\+Object}
\item 
class \hyperlink{classShipCAD_1_1Viewport}{Viewport}
\item 
class \hyperlink{classShipCAD_1_1ViewportContextEvent}{Viewport\+Context\+Event}
\item 
class \hyperlink{classShipCAD_1_1ViewportView}{Viewport\+View}
\begin{DoxyCompactList}\small\item\em \hyperlink{classShipCAD_1_1Viewport}{Viewport} matrices. \end{DoxyCompactList}\item 
class \hyperlink{classShipCAD_1_1ViewportViewBodyplan}{Viewport\+View\+Bodyplan}
\begin{DoxyCompactList}\small\item\em class to calculate view, world matrices and operations using those for a Bodyplan viewport \end{DoxyCompactList}\item 
class \hyperlink{classShipCAD_1_1ViewportViewPerspective}{Viewport\+View\+Perspective}
\begin{DoxyCompactList}\small\item\em calculate view, world matrices and operations for a Perspective viewport \end{DoxyCompactList}\item 
class \hyperlink{classShipCAD_1_1ViewportViewPlan}{Viewport\+View\+Plan}
\begin{DoxyCompactList}\small\item\em calculate view, world matrices and operations for a Plan viewport \end{DoxyCompactList}\item 
class \hyperlink{classShipCAD_1_1ViewportViewProfile}{Viewport\+View\+Profile}
\begin{DoxyCompactList}\small\item\em calculate view, world matrices and operations for a Profile viewport \end{DoxyCompactList}\item 
class \hyperlink{classShipCAD_1_1Visibility}{Visibility}
\begin{DoxyCompactList}\small\item\em Settings for visibility of different features. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef \hyperlink{classPointerVector}{Pointer\+Vector}$<$ \hyperlink{classShipCAD_1_1BackgroundImage}{Background\+Image} $>$ \hyperlink{namespaceShipCAD_ac421659cf582dda585c31351043a79d3}{Background\+Image\+Vector}
\item 
typedef std\+::vector$<$ \hyperlink{structShipCAD_1_1PatchPoints}{Patch\+Points} $>$\+::iterator \hyperlink{namespaceShipCAD_a69b081dd347722fb55da2f3958db5d08}{patchpt\+\_\+iter}
\item 
typedef std\+::vector$<$ \hyperlink{structShipCAD_1_1PatchPoints}{Patch\+Points} $>$\+::const\+\_\+iterator \hyperlink{namespaceShipCAD_aea0ea62a5074a9ec5618bf822480b840}{const\+\_\+patchpt\+\_\+iter}
\item 
typedef \hyperlink{classPointerVector}{Pointer\+Vector}$<$ \hyperlink{classShipCAD_1_1Flowline}{Flowline} $>$ \hyperlink{namespaceShipCAD_a266f1cbe13c1087079b277baa825b85d}{Flowline\+Vector}
\item 
typedef std\+::vector$<$ \hyperlink{classShipCAD_1_1Flowline}{Flowline} $\ast$ $>$\+::iterator \hyperlink{namespaceShipCAD_adea57d928a6348cab7a6a452cca5853f}{Flowline\+Vector\+Iterator}
\item 
typedef std\+::vector$<$ \hyperlink{classShipCAD_1_1Flowline}{Flowline} $\ast$ $>$\+::const\+\_\+iterator \hyperlink{namespaceShipCAD_af5ce87bb0e3720999cde4b18b32aeca3}{Flowline\+Vector\+Const\+Iterator}
\item 
typedef \hyperlink{classPointerVector}{Pointer\+Vector}$<$ \hyperlink{classShipCAD_1_1HydrostaticCalc}{Hydrostatic\+Calc} $>$ \hyperlink{namespaceShipCAD_a0c7b012d8868cbb43871cf0bf303ccc6}{Hydrostatic\+Calc\+Vector}
\item 
typedef std\+::vector$<$ \hyperlink{classShipCAD_1_1HydrostaticCalc}{Hydrostatic\+Calc} $\ast$ $>$\+::iterator \hyperlink{namespaceShipCAD_a09b1b198129010214012a1cc49c98e28}{Hydrostatic\+Calc\+Vector\+Iterator}
\item 
typedef std\+::vector$<$ \hyperlink{classShipCAD_1_1HydrostaticCalc}{Hydrostatic\+Calc} $\ast$ $>$\+::const\+\_\+iterator \hyperlink{namespaceShipCAD_afd3fb43e1160083a9aee5f5d076abf43}{Hydrostatic\+Calc\+Vector\+Const\+Iterator}
\item 
typedef \hyperlink{classPointerVector}{Pointer\+Vector}$<$ \hyperlink{classShipCAD_1_1Intersection}{Intersection} $>$ \hyperlink{namespaceShipCAD_a9910f0963197f9df6125398efd4fa139}{Intersection\+Vector}
\item 
typedef std\+::vector$<$ \hyperlink{classShipCAD_1_1Intersection}{Intersection} $\ast$ $>$\+::iterator \hyperlink{namespaceShipCAD_af8171e2e69ad8453d540aa87b159ad75}{Intersection\+Vector\+Iterator}
\item 
typedef std\+::vector$<$ \hyperlink{classShipCAD_1_1Intersection}{Intersection} $\ast$ $>$\+::const\+\_\+iterator \hyperlink{namespaceShipCAD_a354810638f1643d04b62af2d08fd21bd}{Intersection\+Vector\+Const\+Iterator}
\item 
typedef \hyperlink{classPointerVector}{Pointer\+Vector}$<$ \hyperlink{classShipCAD_1_1Marker}{Marker} $>$ \hyperlink{namespaceShipCAD_a36fff5b53986f6d6976afc749463ef22}{Marker\+Vector}
\item 
typedef std\+::vector$<$ \hyperlink{classShipCAD_1_1Marker}{Marker} $\ast$ $>$\+::iterator \hyperlink{namespaceShipCAD_a880f36455b3b35823ae14bdd62e20b31}{Marker\+Vector\+Iterator}
\item 
typedef std\+::vector$<$ \hyperlink{classShipCAD_1_1Marker}{Marker} $\ast$ $>$\+::const\+\_\+iterator \hyperlink{namespaceShipCAD_a6da02a910d5a7dac854646964af42933}{Marker\+Vector\+Const\+Iterator}
\item 
typedef \hyperlink{classPointerVector}{Pointer\+Vector}$<$ \hyperlink{classShipCAD_1_1Spline}{Spline} $>$ \hyperlink{namespaceShipCAD_a053b941b2c87049bb9380428d4d5a056}{Spline\+Vector}
\item 
typedef \hyperlink{classPointerVector}{Pointer\+Vector}$<$ \hyperlink{classShipCAD_1_1SubdivisionControlCurve}{Subdivision\+Control\+Curve} $>$ \hyperlink{namespaceShipCAD_aa9dd7a826ae5254e377dac43ea19da80}{Subdivision\+Control\+Curve\+Vector}
\item 
typedef std\+::vector$<$ \hyperlink{classShipCAD_1_1SubdivisionEdge}{Subdivision\+Edge} $\ast$ $>$\+::iterator \hyperlink{namespaceShipCAD_a7767250c742ad6114e3f076743d18461}{subdivedge\+\_\+iter}
\item 
typedef std\+::vector$<$ \hyperlink{classShipCAD_1_1SubdivisionEdge}{Subdivision\+Edge} $\ast$ $>$\+::const\+\_\+iterator \hyperlink{namespaceShipCAD_a42f420b898cf32478eeab87aa058e024}{const\+\_\+subdivedge\+\_\+iter}
\item 
typedef std\+::vector$<$ \hyperlink{classShipCAD_1_1SubdivisionControlEdge}{Subdivision\+Control\+Edge} $\ast$ $>$\+::iterator \hyperlink{namespaceShipCAD_a622b92c46380228698ff1e0e1d78aa3a}{subdivctledge\+\_\+iter}
\item 
typedef std\+::vector$<$ \hyperlink{classShipCAD_1_1SubdivisionControlEdge}{Subdivision\+Control\+Edge} $\ast$ $>$\+::const\+\_\+iterator \hyperlink{namespaceShipCAD_af78c33b3ea7d42b713572baf86e2b01a}{const\+\_\+subdivctledge\+\_\+iter}
\item 
typedef std\+::vector$<$ \hyperlink{classShipCAD_1_1SubdivisionFace}{Subdivision\+Face} $\ast$ $>$\+::iterator \hyperlink{namespaceShipCAD_a14b9ceea38e54192b32764021161d199}{subdivface\+\_\+iter}
\item 
typedef std\+::vector$<$ \hyperlink{classShipCAD_1_1SubdivisionFace}{Subdivision\+Face} $\ast$ $>$\+::const\+\_\+iterator \hyperlink{namespaceShipCAD_a6371e9995f829935912575008f969c1c}{const\+\_\+subdivface\+\_\+iter}
\item 
typedef std\+::vector$<$ \hyperlink{classShipCAD_1_1SubdivisionControlFace}{Subdivision\+Control\+Face} $\ast$ $>$\+::iterator \hyperlink{namespaceShipCAD_a10428817114540e55d0c0b8668cb2579}{subdivctlface\+\_\+iter}
\item 
typedef std\+::vector$<$ \hyperlink{classShipCAD_1_1SubdivisionControlFace}{Subdivision\+Control\+Face} $\ast$ $>$\+::const\+\_\+iterator \hyperlink{namespaceShipCAD_a18309973422a59f794be8aa48b9048e8}{const\+\_\+subdivctlface\+\_\+iter}
\item 
typedef std\+::vector$<$ \hyperlink{classShipCAD_1_1SubdivisionLayer}{Subdivision\+Layer} $\ast$ $>$\+::iterator \hyperlink{namespaceShipCAD_a2e2f532082837a6a283b3660d991a974}{subdivlayer\+\_\+iter}
\item 
typedef std\+::vector$<$ \hyperlink{classShipCAD_1_1SubdivisionLayer}{Subdivision\+Layer} $\ast$ $>$\+::const\+\_\+iterator \hyperlink{namespaceShipCAD_a269f54ad41c7de4f7862170413569d4d}{const\+\_\+subdivlayer\+\_\+iter}
\item 
typedef std\+::vector$<$ \hyperlink{classShipCAD_1_1SubdivisionPoint}{Subdivision\+Point} $\ast$ $>$\+::iterator \hyperlink{namespaceShipCAD_a61bebf1ead1dfa9fc86ab99b1025f66a}{subdivpt\+\_\+iter}
\item 
typedef std\+::vector$<$ \hyperlink{classShipCAD_1_1SubdivisionPoint}{Subdivision\+Point} $\ast$ $>$\+::const\+\_\+iterator \hyperlink{namespaceShipCAD_ac2eb7686c5b725b6d2853c95bbd0a1f9}{const\+\_\+subdivpt\+\_\+iter}
\item 
typedef std\+::vector$<$ \hyperlink{classShipCAD_1_1SubdivisionControlPoint}{Subdivision\+Control\+Point} $\ast$ $>$\+::iterator \hyperlink{namespaceShipCAD_ae33d2f365316a630ce7c1eb7a889e36a}{subdivctlpt\+\_\+iter}
\item 
typedef std\+::vector$<$ \hyperlink{classShipCAD_1_1SubdivisionControlPoint}{Subdivision\+Control\+Point} $\ast$ $>$\+::const\+\_\+iterator \hyperlink{namespaceShipCAD_a8d30ac0ddba81aebfbe0589c7d25434e}{const\+\_\+subdivctlpt\+\_\+iter}
\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{namespaceShipCAD_a22a4489ec7a6505c3c30fa7562175ca4}{Polygon\+Orientation} \{ \hyperlink{namespaceShipCAD_a22a4489ec7a6505c3c30fa7562175ca4a01f1428a8463fbd20d80a779e70b39cd}{po\+C\+CW}, 
\hyperlink{namespaceShipCAD_a22a4489ec7a6505c3c30fa7562175ca4a785617c870ff5f0a2321ca2f6542aa7b}{po\+CW}
 \}
\item 
enum \hyperlink{namespaceShipCAD_a33e1c54e3609477478431b6a4c106804}{Layer\+Select\+Mode} \{ \hyperlink{namespaceShipCAD_a33e1c54e3609477478431b6a4c106804ade3fc9da994d6e6ab125978921665966}{fs\+Faces} = 0, 
\hyperlink{namespaceShipCAD_a33e1c54e3609477478431b6a4c106804a542ad0cef590007de75623cc41a83551}{fs\+Points}
 \}\begin{DoxyCompactList}\small\item\em enumeration of layer select mode \end{DoxyCompactList}
\item 
enum \hyperlink{namespaceShipCAD_a67437198ee14f74e6c5277d761894863}{viewport\+\_\+mode\+\_\+t} \{ \\*
\hyperlink{namespaceShipCAD_a67437198ee14f74e6c5277d761894863a109cd328af19be260371a7e5333043f8}{vm\+Wire\+Frame} = 0, 
\hyperlink{namespaceShipCAD_a67437198ee14f74e6c5277d761894863ab1258f959e2d114750dffb3f9c2e2c0c}{vm\+Shade}, 
\hyperlink{namespaceShipCAD_a67437198ee14f74e6c5277d761894863aaf20984128d2e9697958fa8c329a801a}{vm\+Shade\+Gauss}, 
\hyperlink{namespaceShipCAD_a67437198ee14f74e6c5277d761894863a85babb2fea8446064bbbf526b10bf36b}{vm\+Shade\+Developable}, 
\\*
\hyperlink{namespaceShipCAD_a67437198ee14f74e6c5277d761894863a70fcfa9199faab53e43f138ed64ad12f}{vm\+Shade\+Zebra}
 \}
\item 
enum \hyperlink{namespaceShipCAD_aeeeb05810f2e31ef89fd4ac6b6ba9c0a}{viewport\+\_\+type\+\_\+t} \{ \hyperlink{namespaceShipCAD_aeeeb05810f2e31ef89fd4ac6b6ba9c0aa1bc519e3e41c233dd8e94c40af1fd36d}{fv\+Bodyplan} = 0, 
\hyperlink{namespaceShipCAD_aeeeb05810f2e31ef89fd4ac6b6ba9c0aa05a0a083efb18429cbb855b2dcbf5e18}{fv\+Profile}, 
\hyperlink{namespaceShipCAD_aeeeb05810f2e31ef89fd4ac6b6ba9c0aab67fb04b0624572e1567bff4caefde27}{fv\+Plan}, 
\hyperlink{namespaceShipCAD_aeeeb05810f2e31ef89fd4ac6b6ba9c0aaccdacbf26c0ffe78ae55326537a28dc1}{fv\+Perspective}
 \}
\item 
enum \hyperlink{namespaceShipCAD_a58f51ebd2e66de5e41c2ffd6f434241e}{camera\+\_\+type\+\_\+t} \{ \\*
\hyperlink{namespaceShipCAD_a58f51ebd2e66de5e41c2ffd6f434241ea8dd7ff1f55f46fc3db3ca743a05d93af}{ft\+Wide} = 0, 
\hyperlink{namespaceShipCAD_a58f51ebd2e66de5e41c2ffd6f434241eaa4100f3d3073015697dd72390b55fa44}{ft\+Standard}, 
\hyperlink{namespaceShipCAD_a58f51ebd2e66de5e41c2ffd6f434241ea6f6aa44840629968cfa9815da646a9d0}{ft\+Short\+Tele}, 
\hyperlink{namespaceShipCAD_a58f51ebd2e66de5e41c2ffd6f434241eae0b0ae77e52d05ac3800353808e16afe}{ft\+Medium\+Tele}, 
\\*
\hyperlink{namespaceShipCAD_a58f51ebd2e66de5e41c2ffd6f434241ea849a215bd25942bb9594c0389614fafe}{ft\+Far\+Tele}
 \}
\item 
enum \hyperlink{namespaceShipCAD_afea51c7ee52940acebde29bf44206fe2}{hydrostatic\+\_\+type\+\_\+t} \{ \hyperlink{namespaceShipCAD_afea51c7ee52940acebde29bf44206fe2acfe164530006cd2d42457ec37a0ac24b}{fh\+Short} = 0, 
\hyperlink{namespaceShipCAD_afea51c7ee52940acebde29bf44206fe2affd22dfa116c9ea2aae175feba432961}{fh\+Extensive}
 \}
\item 
enum \hyperlink{namespaceShipCAD_a2c84d37615dd30be37ed0253501fb9a3}{hydrostatics\+\_\+mode\+\_\+t} \{ \hyperlink{namespaceShipCAD_a2c84d37615dd30be37ed0253501fb9a3ab322857f69d00b378f611acbb12bc663}{fh\+Single\+Calculation} = 0, 
\hyperlink{namespaceShipCAD_a2c84d37615dd30be37ed0253501fb9a3aee242838cf07c1950c914a44851804b5}{fh\+Multiple\+Calculations}
 \}
\item 
enum \hyperlink{namespaceShipCAD_a1d801b982c24bce0cf10ffd4b995dda0}{hydrostatics\+\_\+error\+\_\+t} \{ \hyperlink{namespaceShipCAD_a1d801b982c24bce0cf10ffd4b995dda0a0813d6e8a63bd1d17941b321715da4dd}{fe\+Nothing\+Submerged} = 0, 
\hyperlink{namespaceShipCAD_a1d801b982c24bce0cf10ffd4b995dda0ab5378e2d38e12b21bcb9f89b4da7a024}{fe\+Making\+Water}, 
\hyperlink{namespaceShipCAD_a1d801b982c24bce0cf10ffd4b995dda0aabbfd93b3daf55e537540d8d4ac8eb0c}{fe\+Not\+Enough\+Buoyancy}
 \}
\item 
enum \hyperlink{namespaceShipCAD_ac9ff7fc96a52fceafa83edc0d5d06fce}{hydrostatics\+\_\+calc\+\_\+t} \{ \\*
\hyperlink{namespaceShipCAD_ac9ff7fc96a52fceafa83edc0d5d06fcea286a6df9f1d51b98fcbb54f17fbe94d6}{hc\+All} = 0, 
\hyperlink{namespaceShipCAD_ac9ff7fc96a52fceafa83edc0d5d06fcea10c43915dd92febe1ef5328644ea2c11}{hc\+Volume}, 
\hyperlink{namespaceShipCAD_ac9ff7fc96a52fceafa83edc0d5d06fceafb6824df148d1417a4db618e6b4dc4f6}{hc\+Mainframe}, 
\hyperlink{namespaceShipCAD_ac9ff7fc96a52fceafa83edc0d5d06fceaf80e166aa0cdd03c48f0633f31da8e9f}{hc\+Waterline}, 
\\*
\hyperlink{namespaceShipCAD_ac9ff7fc96a52fceafa83edc0d5d06fceaad2786c707b686af79e47765eba073d0}{hc\+S\+AC}, 
\hyperlink{namespaceShipCAD_ac9ff7fc96a52fceafa83edc0d5d06fcea3d6d84cee5b8c79bf4d75a5dbc084e45}{hc\+Lateral\+Area}
 \}
\item 
enum \hyperlink{namespaceShipCAD_aa56834b730aafdf2786ddc9a60a046fd}{intersection\+\_\+type\+\_\+t} \{ \\*
\hyperlink{namespaceShipCAD_aa56834b730aafdf2786ddc9a60a046fda8e5e5dc412191234863fae2f98709477}{fi\+Free} = 0, 
\hyperlink{namespaceShipCAD_aa56834b730aafdf2786ddc9a60a046fdaf57b8e7252f2c55c001df410276926e3}{fi\+Station}, 
\hyperlink{namespaceShipCAD_aa56834b730aafdf2786ddc9a60a046fdabcf8818401977200b532a1e18ec2df70}{fi\+Buttock}, 
\hyperlink{namespaceShipCAD_aa56834b730aafdf2786ddc9a60a046fda44c99d1edb96c2c22b5661d927eb9041}{fi\+Waterline}, 
\\*
\hyperlink{namespaceShipCAD_aa56834b730aafdf2786ddc9a60a046fda5631b7711c628bad5c561953eaac2863}{fi\+Diagonal}
 \}
\item 
enum \hyperlink{namespaceShipCAD_ac6a7a28b4b063771afae92decb602da5}{unit\+\_\+type\+\_\+t} \{ \hyperlink{namespaceShipCAD_ac6a7a28b4b063771afae92decb602da5a867fb274949bd7c8474546b9d0fb703f}{fu\+Metric} = 0, 
\hyperlink{namespaceShipCAD_ac6a7a28b4b063771afae92decb602da5a77b7e6068aae48ecd768c4a6e7637fe7}{fu\+Imperial}
 \}
\item 
enum \hyperlink{namespaceShipCAD_a9cf77f0900561de9efc572dcbad4dbbd}{hydrostatic\+\_\+coeff\+\_\+t} \{ \hyperlink{namespaceShipCAD_a9cf77f0900561de9efc572dcbad4dbbdad8361f42820d1f843333d60c0523d71d}{fc\+Project\+Settings} = 0, 
\hyperlink{namespaceShipCAD_a9cf77f0900561de9efc572dcbad4dbbda3ccd536b7a23b7c708cde0d5ba9633d2}{fc\+Actual\+Data}
 \}
\item 
enum \hyperlink{namespaceShipCAD_ae13c7e36dfb1e2300741a631041cd915}{precision\+\_\+t} \{ \hyperlink{namespaceShipCAD_ae13c7e36dfb1e2300741a631041cd915a493cc0c95c59b2a1a0ca04b7a337295b}{fp\+Low} = 0, 
\hyperlink{namespaceShipCAD_ae13c7e36dfb1e2300741a631041cd915af3fadd404d6708aa5759c5c33df67abb}{fp\+Medium}, 
\hyperlink{namespaceShipCAD_ae13c7e36dfb1e2300741a631041cd915a0ea3ca30ae42b68a60d3a4cd4d08fa17}{fp\+High}, 
\hyperlink{namespaceShipCAD_ae13c7e36dfb1e2300741a631041cd915a1d5c86b4ae0e1bc82af908b35b29f3d6}{fp\+Very\+High}
 \}
\item 
enum \hyperlink{namespaceShipCAD_a66144e3f3a53da01f51c9bdb94fcae31}{edit\+\_\+mode\+\_\+t} \{ \hyperlink{namespaceShipCAD_a66144e3f3a53da01f51c9bdb94fcae31a756e1b357bd617f738749df02e51be25}{em\+Select\+Items} = 0
 \}
\item 
enum \hyperlink{namespaceShipCAD_a03171cc921c53a568b778f5131a60deb}{vertex\+\_\+type\+\_\+t} \{ \hyperlink{namespaceShipCAD_a03171cc921c53a568b778f5131a60deba11889066d8ae7a44f297f45684bb99de}{sv\+Regular} = 0, 
\hyperlink{namespaceShipCAD_a03171cc921c53a568b778f5131a60deba79fc4e40055439350070993be28ec8ca}{sv\+Crease}, 
\hyperlink{namespaceShipCAD_a03171cc921c53a568b778f5131a60debaf17373a62a5f899a61ed17d28e103d24}{sv\+Dart}, 
\hyperlink{namespaceShipCAD_a03171cc921c53a568b778f5131a60deba8d802131f84b0a9edf8a419eded859d0}{sv\+Corner}
 \}
\item 
enum \hyperlink{namespaceShipCAD_a4a9d1acfd6a2e1e9078a5dcc36f0c817}{subdiv\+\_\+mode\+\_\+t} \{ \hyperlink{namespaceShipCAD_a4a9d1acfd6a2e1e9078a5dcc36f0c817a8b220f0a4397af67b1431a98e2f44da0}{fm\+Quad\+Triangle} = 0, 
\hyperlink{namespaceShipCAD_a4a9d1acfd6a2e1e9078a5dcc36f0c817a7ae33add00d7fe33cdfac27bbddfef84}{fm\+Catmull\+Clark}
 \}
\item 
enum \hyperlink{namespaceShipCAD_aaba70dc1c80dc540bef320cb9b720a20}{assemble\+\_\+mode\+\_\+t} \{ \hyperlink{namespaceShipCAD_aaba70dc1c80dc540bef320cb9b720a20aeaaf4833473e9e7c408d2f02c7d112c6}{am\+Regular} = 0, 
\hyperlink{namespaceShipCAD_aaba70dc1c80dc540bef320cb9b720a20a33b807b55bc385bc5d69ceb0d74d53fc}{am\+N\+U\+R\+BS}
 \}
\item 
enum \hyperlink{namespaceShipCAD_a742f9cd95e62e207769e17467ecd5bb7}{model\+\_\+view\+\_\+t} \{ \hyperlink{namespaceShipCAD_a742f9cd95e62e207769e17467ecd5bb7a033d1219796735edf6dbe71c266566ad}{mv\+Port} = 0, 
\hyperlink{namespaceShipCAD_a742f9cd95e62e207769e17467ecd5bb7ad45c94ca5dea7f967d58f9864f49c465}{mv\+Both}
 \}
\item 
enum \hyperlink{namespaceShipCAD_aa0f3f220e102a298d2e698af90f5e1fc}{plane\+\_\+selected\+\_\+t} \{ \hyperlink{namespaceShipCAD_aa0f3f220e102a298d2e698af90f5e1fca98cd91131ffa92087bfcefe6fb5e4d6d}{transverse} = 0, 
\hyperlink{namespaceShipCAD_aa0f3f220e102a298d2e698af90f5e1fca57120f6bafe4097088113cc547769d44}{horizontal}, 
\hyperlink{namespaceShipCAD_aa0f3f220e102a298d2e698af90f5e1fcaea2a3030c56526b9d4d3675ca0d5cefe}{vertical}
 \}
\item 
enum \hyperlink{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694f}{version\+\_\+t} \{ \\*
\hyperlink{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa51d8bd5c8f27b04aab10ca53548e859c}{fv100} = 0, 
\hyperlink{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694faf700cb210a7e4b37d5d0d8652005d595}{fv110}, 
\hyperlink{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa83a7d69d5da0a112f916ff1688f8d6dd}{fv120}, 
\hyperlink{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694facb0b30e3da58984c321a7b65246a08f9}{fv130}, 
\\*
\hyperlink{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa5b4d8ad840592918aec14a3edc1df3f2}{fv140}, 
\hyperlink{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa9f67969ee2f8bfb5a4eb688e3847140c}{fv150}, 
\hyperlink{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa6128c9d19a96365fd8083d38b10de79c}{fv160}, 
\hyperlink{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fac5c1f75352cbf5b41a4f5986c3b6b1b6}{fv165}, 
\\*
\hyperlink{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa10c57d7b30d8e16828373fe25fbb5808}{fv170}, 
\hyperlink{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fad37dee2f48dd8e2dacbb6ffb3928c7ea}{fv180}, 
\hyperlink{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa4472e96be6523bd9fea6eb9dfc466613}{fv190}, 
\hyperlink{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa155bf0424294686430a251fed7e7cb83}{fv191}, 
\\*
\hyperlink{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa673f81f8b47fa22013c6d8e384024206}{fv195}, 
\hyperlink{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa17ecdb9f82754915b973717e88f0590d}{fv198}, 
\hyperlink{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694faab39c17b56b22e9e5cef08717fb38f0f}{fv200}, 
\hyperlink{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fadfb6c2f915e2ab1d0a40f8c83a04748d}{fv201}, 
\\*
\hyperlink{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa067802fee608eba024414f07e484bd69}{fv210}, 
\hyperlink{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa7c4c293ce3a7a28767e068ce7db49db5}{fv220}, 
\hyperlink{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694faa40c53f1a6f1cb3feb2bfa7617bd7fdf}{fv230}, 
\hyperlink{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa33350d13e86760a85b899cbb708c2adf}{fv240}, 
\\*
\hyperlink{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa528cae12d19cf6d3b76e6f2b6ef25a61}{fv250}, 
\hyperlink{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa3e815680f28b362a51b70712e376e7d7}{fv260}
 \}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
Q\+Image \hyperlink{namespaceShipCAD_a31499c415c63299daeef4a846909daae}{Create\+From\+J\+P\+EG} (const \hyperlink{structShipCAD_1_1JPEGImage}{Ship\+C\+A\+D\+::\+J\+P\+E\+G\+Image} $\ast$image)
\begin{DoxyCompactList}\small\item\em create a Q\+Image from \hyperlink{structShipCAD_1_1JPEGImage}{J\+P\+E\+G\+Image} struct loaded from \hyperlink{namespaceShipCAD}{Ship\+C\+AD} binary \end{DoxyCompactList}\item 
Q\+String \hyperlink{namespaceShipCAD_a2d7cf2fbcca4bd1dd75fd9ceb4ff0fa9}{Area\+Str} (\hyperlink{namespaceShipCAD_ac6a7a28b4b063771afae92decb602da5}{unit\+\_\+type\+\_\+t} units)
\item 
Q\+String \hyperlink{namespaceShipCAD_aef3e2265fc686fbe6b50b081dcc4e6ff}{Length\+Str} (\hyperlink{namespaceShipCAD_ac6a7a28b4b063771afae92decb602da5}{unit\+\_\+type\+\_\+t} units)
\item 
Q\+String \hyperlink{namespaceShipCAD_a01d1e42109b5645919c004f6d7a30b68}{Inertia\+Str} (\hyperlink{namespaceShipCAD_ac6a7a28b4b063771afae92decb602da5}{unit\+\_\+type\+\_\+t} units)
\item 
Q\+String \hyperlink{namespaceShipCAD_a0758fd8275aafe6ad813d2a361281bf2}{Vol\+Str} (\hyperlink{namespaceShipCAD_ac6a7a28b4b063771afae92decb602da5}{unit\+\_\+type\+\_\+t} units)
\item 
Q\+String \hyperlink{namespaceShipCAD_af977e4008c66d1a323d105f27622991b}{Density\+Str} (\hyperlink{namespaceShipCAD_ac6a7a28b4b063771afae92decb602da5}{unit\+\_\+type\+\_\+t} units)
\item 
Q\+String \hyperlink{namespaceShipCAD_a62749df66958d1389c3cc6f6f03d42fb}{Weight\+Str} (\hyperlink{namespaceShipCAD_ac6a7a28b4b063771afae92decb602da5}{unit\+\_\+type\+\_\+t} units)
\item 
void \hyperlink{namespaceShipCAD_aa5d3fc63603d716d3e24244049e1e510}{Min\+Max} (const Q\+Vector3D \&p, Q\+Vector3D \&min, Q\+Vector3D \&max)
\begin{DoxyCompactList}\small\item\em find the min and max coordinates from a point \end{DoxyCompactList}\item 
float \hyperlink{namespaceShipCAD_a69361fa79b1f818e21306f6266ee45d3}{Distancepoint\+To\+Line} (const Q\+Vector3D \&p, const Q\+Vector3D \&l1, const Q\+Vector3D \&l2)
\begin{DoxyCompactList}\small\item\em find the distance from a point to the line \end{DoxyCompactList}\item 
Q\+Vector3D \hyperlink{namespaceShipCAD_a83f7c2b40959a0d02a2cc1085b0d07ee}{Interpolate} (const Q\+Vector3D \&p1, const Q\+Vector3D \&p2, float param)
\begin{DoxyCompactList}\small\item\em linearly interpolate a point between 2 points \end{DoxyCompactList}\item 
Q\+Vector3D \hyperlink{namespaceShipCAD_ad1ad66c896fe763fb4603989ff1f1182}{Mid\+Point} (const Q\+Vector3D \&p1, const Q\+Vector3D \&p2)
\begin{DoxyCompactList}\small\item\em get the midpoint between 2 points (interpolate 50\%) \end{DoxyCompactList}\item 
Q\+Vector3D \hyperlink{namespaceShipCAD_a30b09a2ad6cc05c2ce1cdc450a0857d1}{Point\+Project\+To\+Line} (const Q\+Vector3D \&p1, const Q\+Vector3D \&p2, const Q\+Vector3D \&p)
\begin{DoxyCompactList}\small\item\em project a point to a line \end{DoxyCompactList}\item 
int \hyperlink{namespaceShipCAD_a87efc267ae07a84fb1cd55a4562c2907}{Find\+D\+X\+F\+Color\+Index} (Q\+Color color)
\begin{DoxyCompactList}\small\item\em convert a Q\+Color to a D\+XF color index \end{DoxyCompactList}\item 
Q\+Color \hyperlink{namespaceShipCAD_a9956eca83968462fc4c48c376a10d577}{Q\+Color\+From\+D\+X\+F\+Index} (int index)
\begin{DoxyCompactList}\small\item\em get a Q\+Color from a D\+XF color index \end{DoxyCompactList}\item 
Q\+Color \hyperlink{namespaceShipCAD_acb142056788b7a6e18e908c5b2fd8d52}{Fill\+Color} (float parameter)
\begin{DoxyCompactList}\small\item\em calculate color on basis of wavelength (0.\+0 -\/ 1.\+0) \end{DoxyCompactList}\item 
Q\+Vector3D \hyperlink{namespaceShipCAD_a81e47e31f89000550b007c0f9a4d09aa}{Unified\+Normal} (const Q\+Vector3D \&p1, const Q\+Vector3D \&p2, const Q\+Vector3D \&p3)
\begin{DoxyCompactList}\small\item\em find the unit normal of a plane defined by 3 points \end{DoxyCompactList}\item 
float \hyperlink{namespaceShipCAD_ac344c080c66b4394cb988cf88c726029}{Deg\+To\+Rad} (float deg)
\begin{DoxyCompactList}\small\item\em convert degrees to radians \end{DoxyCompactList}\item 
float \hyperlink{namespaceShipCAD_a3ad1916db38fb61e8a053f944df49cee}{Rad\+To\+Deg} (float rad)
\begin{DoxyCompactList}\small\item\em convert radians to degrees \end{DoxyCompactList}\item 
bool \hyperlink{namespaceShipCAD_ae1773f0e415446342401a67430a8b643}{Point\+In\+Triangle} (const Q\+Vector3D \&intercept, const Q\+Vector3D \&p0, const Q\+Vector3D \&p1, const Q\+Vector3D \&p2)
\begin{DoxyCompactList}\small\item\em find if point lies inside a triangle and on the plane of the triangle \end{DoxyCompactList}\item 
void \hyperlink{namespaceShipCAD_a36b9b33181823761bc327d66c36c8d8f}{Clip\+Triangle} (const Q\+Vector3D \&p1, const Q\+Vector3D \&p2, const Q\+Vector3D \&p3, float s1, float s2, float s3, std\+::vector$<$ Q\+Vector3D $>$ \&front, std\+::vector$<$ Q\+Vector3D $>$ \&back)
\begin{DoxyCompactList}\small\item\em clip a triangle given vertex point distances from a plane \end{DoxyCompactList}\item 
void \hyperlink{namespaceShipCAD_a41e6294f71b66bca070c744accbb3ef2}{Clip\+Triangle} (const Q\+Vector3D \&p1, const Q\+Vector3D \&p2, const Q\+Vector3D \&p3, const \hyperlink{classShipCAD_1_1Plane}{Plane} \&plane, std\+::vector$<$ Q\+Vector3D $>$ \&front, std\+::vector$<$ Q\+Vector3D $>$ \&back)
\begin{DoxyCompactList}\small\item\em clip a triangle given a plane \end{DoxyCompactList}\item 
bool \hyperlink{namespaceShipCAD_aec056383a39d900bd079feee8bcca060}{Lines3\+D\+Intersect} (const Q\+Vector3D \&p1, const Q\+Vector3D \&p2, const Q\+Vector3D \&p3, const Q\+Vector3D \&p4, double \&param, Q\+Vector3D \&int1)
\begin{DoxyCompactList}\small\item\em Calculate the line segment Pa\+Pb that is the shortest route between two lines P1\+P2 and P3\+P4. Calculate also the values of mua and mub where Pa = P1 + mua (P2 -\/ P1) Pb = P3 + mub (P4 -\/ P3) \end{DoxyCompactList}\item 
float \hyperlink{namespaceShipCAD_a6f9f5ac15e7e2821bba27ba06827a4e1}{Squared\+Dist\+PP} (const Q\+Vector3D \&p1, const Q\+Vector3D \&p2)
\begin{DoxyCompactList}\small\item\em squared distance between 2 3D points \end{DoxyCompactList}\item 
float \hyperlink{namespaceShipCAD_a438e97b711c6878eba3bf7182e68a3c7}{Dist\+P\+P3D} (const Q\+Vector3D \&p1, const Q\+Vector3D \&p2)
\begin{DoxyCompactList}\small\item\em distance between 2 3D points \end{DoxyCompactList}\item 
Q\+String \hyperlink{namespaceShipCAD_a45ba7de6922e89cbddf2a4c9c810a2e4}{Bool\+To\+Str} (bool val)
\begin{DoxyCompactList}\small\item\em convert a bool to a string for serialization \end{DoxyCompactList}\item 
void \hyperlink{namespaceShipCAD_a2eddf75f0e29363ab81a3fb0e0211848}{Join\+Spline\+Segments} (float join\+\_\+error, bool force\+\_\+to\+\_\+one\+\_\+segment, \hyperlink{namespaceShipCAD_a053b941b2c87049bb9380428d4d5a056}{Spline\+Vector} \&list)
\begin{DoxyCompactList}\small\item\em join a set of linesegments and connect them into as few as possible splines \end{DoxyCompactList}\item 
int \hyperlink{namespaceShipCAD_a70b238d926183460670b82d9680b5cb9}{Read\+Int\+From\+Str} (size\+\_\+t lineno, const Q\+String \&str, size\+\_\+t \&start)
\begin{DoxyCompactList}\small\item\em convert a string to an integer value \end{DoxyCompactList}\item 
bool \hyperlink{namespaceShipCAD_af343b5a2dfd09b32b9451d35e0676384}{Read\+Bool\+From\+Str} (size\+\_\+t lineno, const Q\+String \&str, size\+\_\+t \&start)
\begin{DoxyCompactList}\small\item\em convert a string to an boolean value \end{DoxyCompactList}\item 
float \hyperlink{namespaceShipCAD_a696bc38864a736dda734802f3cda4346}{Read\+Float\+From\+Str} (size\+\_\+t lineno, const Q\+String \&str, size\+\_\+t \&start)
\begin{DoxyCompactList}\small\item\em convert a string to an float value \end{DoxyCompactList}\item 
float \hyperlink{namespaceShipCAD_a44025ef38e6ee9f12cbf032660f637b5}{Find\+Water\+Viscosity} (float density, \hyperlink{namespaceShipCAD_ac6a7a28b4b063771afae92decb602da5}{unit\+\_\+type\+\_\+t} units)
\begin{DoxyCompactList}\small\item\em find water viscosity based on density \end{DoxyCompactList}\item 
Q\+String \hyperlink{namespaceShipCAD_ae416df4a72579eb3a1a418b19551eb53}{Change\+File\+Ext} (const Q\+String \&name, const Q\+String \&ext)
\begin{DoxyCompactList}\small\item\em Append or change the file extension to that given. \end{DoxyCompactList}\item 
float \hyperlink{namespaceShipCAD_ad3ca198e79658bf065f1c1c416f23670}{Volume\+To\+Displacement} (float volume, float density, float appcoeff, \hyperlink{namespaceShipCAD_ac6a7a28b4b063771afae92decb602da5}{unit\+\_\+type\+\_\+t} units)
\begin{DoxyCompactList}\small\item\em convert volume to displacement given density, appendage coefficient and unit type \end{DoxyCompactList}\item 
Q\+String \hyperlink{namespaceShipCAD_ae378a523725f5718c9f2b55103f08dcb}{Make\+Length} (float value, int decimals, int des\+\_\+length)
\begin{DoxyCompactList}\small\item\em Create a formatted string from a float value. \end{DoxyCompactList}\item 
Q\+String \hyperlink{namespaceShipCAD_ab520595d533b1626c8be82c0efd24e6d}{Make\+Length} (const Q\+String \&value, int des\+\_\+length)
\begin{DoxyCompactList}\small\item\em Create a string of a given length. \end{DoxyCompactList}\item 
Q\+String \hyperlink{namespaceShipCAD_a646812cc2b9066dfc47f2ed7e1faa955}{Truncate} (float val, int max\+\_\+length)
\begin{DoxyCompactList}\small\item\em convert a float value to a string with max number of decimals \end{DoxyCompactList}\item 
bool \hyperlink{namespaceShipCAD_ae1b7d6603b6c5a2969befdbd629f2e8b}{Fuzzy\+Compare} (float val1, float val2, float error)
\begin{DoxyCompactList}\small\item\em compare 2 floats, if they are sufficiently close, return true \end{DoxyCompactList}\item 
double \hyperlink{namespaceShipCAD_ad4bf48489d173fd29503cd9b511f52e9}{Sign} (double val)
\begin{DoxyCompactList}\small\item\em get the sign of a floating point number \end{DoxyCompactList}\item 
size\+\_\+t \hyperlink{namespaceShipCAD_a26237f4689cbf7e356c7c1ce3f9c69ff}{to\+\_\+size\+\_\+t} (int val)
\begin{DoxyCompactList}\small\item\em convert an int to a size\+\_\+t \end{DoxyCompactList}\item 
Q\+Color \hyperlink{namespaceShipCAD_a6bc9d2025502c6f4052b89c82c72762c}{Random\+Color} ()
\begin{DoxyCompactList}\small\item\em get a random color \end{DoxyCompactList}\item 
Q\+Vector3D \hyperlink{namespaceShipCAD_af88f847dc1803cadbeb655783961dbfd}{Rotate\+Vector} (const Q\+Vector3D \&coord, double sinx, double cosx, double siny, double cosy, double sinz, double cosz)
\begin{DoxyCompactList}\small\item\em rotate a vector \end{DoxyCompactList}\item 
Q\+String \hyperlink{namespaceShipCAD_ac24d97adcdf1709fc8e857f5d07395ff}{Convert\+Dimension} (float value, \hyperlink{namespaceShipCAD_ac6a7a28b4b063771afae92decb602da5}{unit\+\_\+type\+\_\+t} units)
\begin{DoxyCompactList}\small\item\em create a string holding a dimension based on project units \end{DoxyCompactList}\item 
Q\+String \hyperlink{namespaceShipCAD_a2901c6bb3e9ddd7efa9bdcc9095cc468}{version\+String} (\hyperlink{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694f}{version\+\_\+t} v)
\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
const float \hyperlink{namespaceShipCAD_a8c1484188fed1e735c5a94f64a6817ab}{k\+Foot} = 0.\+3048f
\item 
const float \hyperlink{namespaceShipCAD_ad6937518d9742e268b279000d1e7a509}{k\+Lbs} = 0.\+4535924f
\item 
const float \hyperlink{namespaceShipCAD_aa4319c8e7adfa68048f95c1614984036}{k\+Weight\+Conversion\+Factor} = (1000/\hyperlink{namespaceShipCAD_ad6937518d9742e268b279000d1e7a509}{k\+Lbs})/((1/\hyperlink{namespaceShipCAD_a8c1484188fed1e735c5a94f64a6817ab}{k\+Foot})$\ast$(1/\hyperlink{namespaceShipCAD_a8c1484188fed1e735c5a94f64a6817ab}{k\+Foot})$\ast$(1/\hyperlink{namespaceShipCAD_a8c1484188fed1e735c5a94f64a6817ab}{k\+Foot}))
\item 
const int \hyperlink{namespaceShipCAD_a1c0de7dc4306d7908bd8c6f7ff69ecdc}{k\+Increment\+Size} = 25
\item 
const int \hyperlink{namespaceShipCAD_ac88ffd27e117a3e612997a36a5d4616d}{k\+Decimals} = 4
\item 
const int \hyperlink{namespaceShipCAD_ac8176e9d12f859826fb131b7febb8c8a}{k\+Pixel\+Count\+Max} = 32768
\item 
const float \hyperlink{namespaceShipCAD_a519c591e5f5e3f60603b3133a4a2094e}{k\+Z\+Buffer\+Scale\+Factor} = 1.\+004f
\item 
const float \hyperlink{namespaceShipCAD_a80babe3fef93f1117e1c410f8d3c22c2}{k\+Zoomfactor} = 1.\+02f
\item 
const int \hyperlink{namespaceShipCAD_afeba968c9abef53c8d1ff63855076dec}{File\+Buffer\+Block\+Size} = 4096
\item 
const char $\ast$ \hyperlink{namespaceShipCAD_a6461e4d91e555f0c732b53f8998b325d}{k\+File\+Extension} = \char`\"{}.fbm\char`\"{}
\item 
const Q\+Vector3D \hyperlink{namespaceShipCAD_a949bc53a1634b268b43de672807480fb}{Z\+E\+RO}
\item 
const Q\+Vector3D \hyperlink{namespaceShipCAD_ad454d484187a50b115d2e77055617816}{O\+NE}
\item 
const Q\+Vector2D \hyperlink{namespaceShipCAD_ab47218dccdf4c94d5989b2e5b13d8603}{Z\+E\+R\+O2}
\item 
bool \hyperlink{namespaceShipCAD_ad5a157bd082e37a863f05b7c54a1d7cc}{g\+\_\+edge\+\_\+verbose} = true
\item 
bool \hyperlink{namespaceShipCAD_ae059a88fbc18c56ceee2fd1cd7f2aad0}{g\+\_\+point\+\_\+verbose} = true
\item 
bool \hyperlink{namespaceShipCAD_a45538d3cd2c9293bf0bd4b09a23670ac}{g\+\_\+surface\+\_\+verbose} = true
\item 
const \hyperlink{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694f}{version\+\_\+t} \hyperlink{namespaceShipCAD_aa3415e1acf9bdb19e24f31f5138d6a60}{k\+\_\+current\+\_\+version} = \hyperlink{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa3e815680f28b362a51b70712e376e7d7}{fv260}
\item 
const Q\+String \hyperlink{namespaceShipCAD_a833fc6d39d2f0fd7fa31d0a691b0b726}{k\+\_\+released\+\_\+date} = Q\+String(\char`\"{}April 21, 2006\char`\"{})
\end{DoxyCompactItemize}


\subsection{Typedef Documentation}
\index{Ship\+C\+AD@{Ship\+C\+AD}!Background\+Image\+Vector@{Background\+Image\+Vector}}
\index{Background\+Image\+Vector@{Background\+Image\+Vector}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Background\+Image\+Vector}{BackgroundImageVector}}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Pointer\+Vector}$<${\bf Background\+Image}$>$ {\bf Ship\+C\+A\+D\+::\+Background\+Image\+Vector}}\hypertarget{namespaceShipCAD_ac421659cf582dda585c31351043a79d3}{}\label{namespaceShipCAD_ac421659cf582dda585c31351043a79d3}


Definition at line 96 of file backgroundimage.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!const\+\_\+patchpt\+\_\+iter@{const\+\_\+patchpt\+\_\+iter}}
\index{const\+\_\+patchpt\+\_\+iter@{const\+\_\+patchpt\+\_\+iter}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{const\+\_\+patchpt\+\_\+iter}{const_patchpt_iter}}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\+::vector$<${\bf Patch\+Points}$>$\+::const\+\_\+iterator {\bf Ship\+C\+A\+D\+::const\+\_\+patchpt\+\_\+iter}}\hypertarget{namespaceShipCAD_aea0ea62a5074a9ec5618bf822480b840}{}\label{namespaceShipCAD_aea0ea62a5074a9ec5618bf822480b840}


Definition at line 64 of file developedpatch.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!const\+\_\+subdivctledge\+\_\+iter@{const\+\_\+subdivctledge\+\_\+iter}}
\index{const\+\_\+subdivctledge\+\_\+iter@{const\+\_\+subdivctledge\+\_\+iter}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{const\+\_\+subdivctledge\+\_\+iter}{const_subdivctledge_iter}}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\+::vector$<${\bf Subdivision\+Control\+Edge}$\ast$$>$\+::const\+\_\+iterator {\bf Ship\+C\+A\+D\+::const\+\_\+subdivctledge\+\_\+iter}}\hypertarget{namespaceShipCAD_af78c33b3ea7d42b713572baf86e2b01a}{}\label{namespaceShipCAD_af78c33b3ea7d42b713572baf86e2b01a}


Definition at line 161 of file subdivedge.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!const\+\_\+subdivctlface\+\_\+iter@{const\+\_\+subdivctlface\+\_\+iter}}
\index{const\+\_\+subdivctlface\+\_\+iter@{const\+\_\+subdivctlface\+\_\+iter}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{const\+\_\+subdivctlface\+\_\+iter}{const_subdivctlface_iter}}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\+::vector$<${\bf Subdivision\+Control\+Face}$\ast$$>$\+::const\+\_\+iterator {\bf Ship\+C\+A\+D\+::const\+\_\+subdivctlface\+\_\+iter}}\hypertarget{namespaceShipCAD_a18309973422a59f794be8aa48b9048e8}{}\label{namespaceShipCAD_a18309973422a59f794be8aa48b9048e8}


Definition at line 365 of file subdivface.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!const\+\_\+subdivctlpt\+\_\+iter@{const\+\_\+subdivctlpt\+\_\+iter}}
\index{const\+\_\+subdivctlpt\+\_\+iter@{const\+\_\+subdivctlpt\+\_\+iter}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{const\+\_\+subdivctlpt\+\_\+iter}{const_subdivctlpt_iter}}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\+::vector$<${\bf Subdivision\+Control\+Point}$\ast$$>$\+::const\+\_\+iterator {\bf Ship\+C\+A\+D\+::const\+\_\+subdivctlpt\+\_\+iter}}\hypertarget{namespaceShipCAD_a8d30ac0ddba81aebfbe0589c7d25434e}{}\label{namespaceShipCAD_a8d30ac0ddba81aebfbe0589c7d25434e}


Definition at line 271 of file subdivpoint.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!const\+\_\+subdivedge\+\_\+iter@{const\+\_\+subdivedge\+\_\+iter}}
\index{const\+\_\+subdivedge\+\_\+iter@{const\+\_\+subdivedge\+\_\+iter}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{const\+\_\+subdivedge\+\_\+iter}{const_subdivedge_iter}}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\+::vector$<${\bf Subdivision\+Edge}$\ast$$>$\+::const\+\_\+iterator {\bf Ship\+C\+A\+D\+::const\+\_\+subdivedge\+\_\+iter}}\hypertarget{namespaceShipCAD_a42f420b898cf32478eeab87aa058e024}{}\label{namespaceShipCAD_a42f420b898cf32478eeab87aa058e024}


Definition at line 112 of file subdivedge.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!const\+\_\+subdivface\+\_\+iter@{const\+\_\+subdivface\+\_\+iter}}
\index{const\+\_\+subdivface\+\_\+iter@{const\+\_\+subdivface\+\_\+iter}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{const\+\_\+subdivface\+\_\+iter}{const_subdivface_iter}}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\+::vector$<${\bf Subdivision\+Face}$\ast$$>$\+::const\+\_\+iterator {\bf Ship\+C\+A\+D\+::const\+\_\+subdivface\+\_\+iter}}\hypertarget{namespaceShipCAD_a6371e9995f829935912575008f969c1c}{}\label{namespaceShipCAD_a6371e9995f829935912575008f969c1c}


Definition at line 215 of file subdivface.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!const\+\_\+subdivlayer\+\_\+iter@{const\+\_\+subdivlayer\+\_\+iter}}
\index{const\+\_\+subdivlayer\+\_\+iter@{const\+\_\+subdivlayer\+\_\+iter}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{const\+\_\+subdivlayer\+\_\+iter}{const_subdivlayer_iter}}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\+::vector$<${\bf Subdivision\+Layer}$\ast$$>$\+::const\+\_\+iterator {\bf Ship\+C\+A\+D\+::const\+\_\+subdivlayer\+\_\+iter}}\hypertarget{namespaceShipCAD_a269f54ad41c7de4f7862170413569d4d}{}\label{namespaceShipCAD_a269f54ad41c7de4f7862170413569d4d}


Definition at line 182 of file subdivlayer.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!const\+\_\+subdivpt\+\_\+iter@{const\+\_\+subdivpt\+\_\+iter}}
\index{const\+\_\+subdivpt\+\_\+iter@{const\+\_\+subdivpt\+\_\+iter}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{const\+\_\+subdivpt\+\_\+iter}{const_subdivpt_iter}}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\+::vector$<${\bf Subdivision\+Point}$\ast$$>$\+::const\+\_\+iterator {\bf Ship\+C\+A\+D\+::const\+\_\+subdivpt\+\_\+iter}}\hypertarget{namespaceShipCAD_ac2eb7686c5b725b6d2853c95bbd0a1f9}{}\label{namespaceShipCAD_ac2eb7686c5b725b6d2853c95bbd0a1f9}


Definition at line 199 of file subdivpoint.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Flowline\+Vector@{Flowline\+Vector}}
\index{Flowline\+Vector@{Flowline\+Vector}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Flowline\+Vector}{FlowlineVector}}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Pointer\+Vector}$<${\bf Flowline}$>$ {\bf Ship\+C\+A\+D\+::\+Flowline\+Vector}}\hypertarget{namespaceShipCAD_a266f1cbe13c1087079b277baa825b85d}{}\label{namespaceShipCAD_a266f1cbe13c1087079b277baa825b85d}


Definition at line 84 of file flowline.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Flowline\+Vector\+Const\+Iterator@{Flowline\+Vector\+Const\+Iterator}}
\index{Flowline\+Vector\+Const\+Iterator@{Flowline\+Vector\+Const\+Iterator}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Flowline\+Vector\+Const\+Iterator}{FlowlineVectorConstIterator}}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\+::vector$<${\bf Flowline}$\ast$$>$\+::const\+\_\+iterator {\bf Ship\+C\+A\+D\+::\+Flowline\+Vector\+Const\+Iterator}}\hypertarget{namespaceShipCAD_af5ce87bb0e3720999cde4b18b32aeca3}{}\label{namespaceShipCAD_af5ce87bb0e3720999cde4b18b32aeca3}


Definition at line 86 of file flowline.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Flowline\+Vector\+Iterator@{Flowline\+Vector\+Iterator}}
\index{Flowline\+Vector\+Iterator@{Flowline\+Vector\+Iterator}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Flowline\+Vector\+Iterator}{FlowlineVectorIterator}}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\+::vector$<${\bf Flowline}$\ast$$>$\+::iterator {\bf Ship\+C\+A\+D\+::\+Flowline\+Vector\+Iterator}}\hypertarget{namespaceShipCAD_adea57d928a6348cab7a6a452cca5853f}{}\label{namespaceShipCAD_adea57d928a6348cab7a6a452cca5853f}


Definition at line 85 of file flowline.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Hydrostatic\+Calc\+Vector@{Hydrostatic\+Calc\+Vector}}
\index{Hydrostatic\+Calc\+Vector@{Hydrostatic\+Calc\+Vector}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Hydrostatic\+Calc\+Vector}{HydrostaticCalcVector}}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Pointer\+Vector}$<${\bf Hydrostatic\+Calc}$>$ {\bf Ship\+C\+A\+D\+::\+Hydrostatic\+Calc\+Vector}}\hypertarget{namespaceShipCAD_a0c7b012d8868cbb43871cf0bf303ccc6}{}\label{namespaceShipCAD_a0c7b012d8868cbb43871cf0bf303ccc6}


Definition at line 235 of file hydrostaticcalc.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Hydrostatic\+Calc\+Vector\+Const\+Iterator@{Hydrostatic\+Calc\+Vector\+Const\+Iterator}}
\index{Hydrostatic\+Calc\+Vector\+Const\+Iterator@{Hydrostatic\+Calc\+Vector\+Const\+Iterator}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Hydrostatic\+Calc\+Vector\+Const\+Iterator}{HydrostaticCalcVectorConstIterator}}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\+::vector$<${\bf Hydrostatic\+Calc}$\ast$$>$\+::const\+\_\+iterator {\bf Ship\+C\+A\+D\+::\+Hydrostatic\+Calc\+Vector\+Const\+Iterator}}\hypertarget{namespaceShipCAD_afd3fb43e1160083a9aee5f5d076abf43}{}\label{namespaceShipCAD_afd3fb43e1160083a9aee5f5d076abf43}


Definition at line 237 of file hydrostaticcalc.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Hydrostatic\+Calc\+Vector\+Iterator@{Hydrostatic\+Calc\+Vector\+Iterator}}
\index{Hydrostatic\+Calc\+Vector\+Iterator@{Hydrostatic\+Calc\+Vector\+Iterator}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Hydrostatic\+Calc\+Vector\+Iterator}{HydrostaticCalcVectorIterator}}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\+::vector$<${\bf Hydrostatic\+Calc}$\ast$$>$\+::iterator {\bf Ship\+C\+A\+D\+::\+Hydrostatic\+Calc\+Vector\+Iterator}}\hypertarget{namespaceShipCAD_a09b1b198129010214012a1cc49c98e28}{}\label{namespaceShipCAD_a09b1b198129010214012a1cc49c98e28}


Definition at line 236 of file hydrostaticcalc.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Intersection\+Vector@{Intersection\+Vector}}
\index{Intersection\+Vector@{Intersection\+Vector}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Intersection\+Vector}{IntersectionVector}}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Pointer\+Vector}$<${\bf Intersection}$>$ {\bf Ship\+C\+A\+D\+::\+Intersection\+Vector}}\hypertarget{namespaceShipCAD_a9910f0963197f9df6125398efd4fa139}{}\label{namespaceShipCAD_a9910f0963197f9df6125398efd4fa139}


Definition at line 164 of file intersection.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Intersection\+Vector\+Const\+Iterator@{Intersection\+Vector\+Const\+Iterator}}
\index{Intersection\+Vector\+Const\+Iterator@{Intersection\+Vector\+Const\+Iterator}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Intersection\+Vector\+Const\+Iterator}{IntersectionVectorConstIterator}}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\+::vector$<${\bf Intersection}$\ast$$>$\+::const\+\_\+iterator {\bf Ship\+C\+A\+D\+::\+Intersection\+Vector\+Const\+Iterator}}\hypertarget{namespaceShipCAD_a354810638f1643d04b62af2d08fd21bd}{}\label{namespaceShipCAD_a354810638f1643d04b62af2d08fd21bd}


Definition at line 166 of file intersection.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Intersection\+Vector\+Iterator@{Intersection\+Vector\+Iterator}}
\index{Intersection\+Vector\+Iterator@{Intersection\+Vector\+Iterator}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Intersection\+Vector\+Iterator}{IntersectionVectorIterator}}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\+::vector$<${\bf Intersection}$\ast$$>$\+::iterator {\bf Ship\+C\+A\+D\+::\+Intersection\+Vector\+Iterator}}\hypertarget{namespaceShipCAD_af8171e2e69ad8453d540aa87b159ad75}{}\label{namespaceShipCAD_af8171e2e69ad8453d540aa87b159ad75}


Definition at line 165 of file intersection.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Marker\+Vector@{Marker\+Vector}}
\index{Marker\+Vector@{Marker\+Vector}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Marker\+Vector}{MarkerVector}}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Pointer\+Vector}$<${\bf Marker}$>$ {\bf Ship\+C\+A\+D\+::\+Marker\+Vector}}\hypertarget{namespaceShipCAD_a36fff5b53986f6d6976afc749463ef22}{}\label{namespaceShipCAD_a36fff5b53986f6d6976afc749463ef22}


Definition at line 83 of file marker.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Marker\+Vector\+Const\+Iterator@{Marker\+Vector\+Const\+Iterator}}
\index{Marker\+Vector\+Const\+Iterator@{Marker\+Vector\+Const\+Iterator}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Marker\+Vector\+Const\+Iterator}{MarkerVectorConstIterator}}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\+::vector$<${\bf Marker}$\ast$$>$\+::const\+\_\+iterator {\bf Ship\+C\+A\+D\+::\+Marker\+Vector\+Const\+Iterator}}\hypertarget{namespaceShipCAD_a6da02a910d5a7dac854646964af42933}{}\label{namespaceShipCAD_a6da02a910d5a7dac854646964af42933}


Definition at line 85 of file marker.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Marker\+Vector\+Iterator@{Marker\+Vector\+Iterator}}
\index{Marker\+Vector\+Iterator@{Marker\+Vector\+Iterator}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Marker\+Vector\+Iterator}{MarkerVectorIterator}}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\+::vector$<${\bf Marker}$\ast$$>$\+::iterator {\bf Ship\+C\+A\+D\+::\+Marker\+Vector\+Iterator}}\hypertarget{namespaceShipCAD_a880f36455b3b35823ae14bdd62e20b31}{}\label{namespaceShipCAD_a880f36455b3b35823ae14bdd62e20b31}


Definition at line 84 of file marker.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!patchpt\+\_\+iter@{patchpt\+\_\+iter}}
\index{patchpt\+\_\+iter@{patchpt\+\_\+iter}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{patchpt\+\_\+iter}{patchpt_iter}}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\+::vector$<${\bf Patch\+Points}$>$\+::iterator {\bf Ship\+C\+A\+D\+::patchpt\+\_\+iter}}\hypertarget{namespaceShipCAD_a69b081dd347722fb55da2f3958db5d08}{}\label{namespaceShipCAD_a69b081dd347722fb55da2f3958db5d08}


Definition at line 63 of file developedpatch.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Spline\+Vector@{Spline\+Vector}}
\index{Spline\+Vector@{Spline\+Vector}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Spline\+Vector}{SplineVector}}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Pointer\+Vector}$<${\bf Spline}$>$ {\bf Ship\+C\+A\+D\+::\+Spline\+Vector}}\hypertarget{namespaceShipCAD_a053b941b2c87049bb9380428d4d5a056}{}\label{namespaceShipCAD_a053b941b2c87049bb9380428d4d5a056}


Definition at line 186 of file spline.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!subdivctledge\+\_\+iter@{subdivctledge\+\_\+iter}}
\index{subdivctledge\+\_\+iter@{subdivctledge\+\_\+iter}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{subdivctledge\+\_\+iter}{subdivctledge_iter}}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\+::vector$<${\bf Subdivision\+Control\+Edge}$\ast$$>$\+::iterator {\bf Ship\+C\+A\+D\+::subdivctledge\+\_\+iter}}\hypertarget{namespaceShipCAD_a622b92c46380228698ff1e0e1d78aa3a}{}\label{namespaceShipCAD_a622b92c46380228698ff1e0e1d78aa3a}


Definition at line 160 of file subdivedge.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!subdivctlface\+\_\+iter@{subdivctlface\+\_\+iter}}
\index{subdivctlface\+\_\+iter@{subdivctlface\+\_\+iter}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{subdivctlface\+\_\+iter}{subdivctlface_iter}}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\+::vector$<${\bf Subdivision\+Control\+Face}$\ast$$>$\+::iterator {\bf Ship\+C\+A\+D\+::subdivctlface\+\_\+iter}}\hypertarget{namespaceShipCAD_a10428817114540e55d0c0b8668cb2579}{}\label{namespaceShipCAD_a10428817114540e55d0c0b8668cb2579}


Definition at line 364 of file subdivface.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!subdivctlpt\+\_\+iter@{subdivctlpt\+\_\+iter}}
\index{subdivctlpt\+\_\+iter@{subdivctlpt\+\_\+iter}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{subdivctlpt\+\_\+iter}{subdivctlpt_iter}}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\+::vector$<${\bf Subdivision\+Control\+Point}$\ast$$>$\+::iterator {\bf Ship\+C\+A\+D\+::subdivctlpt\+\_\+iter}}\hypertarget{namespaceShipCAD_ae33d2f365316a630ce7c1eb7a889e36a}{}\label{namespaceShipCAD_ae33d2f365316a630ce7c1eb7a889e36a}


Definition at line 270 of file subdivpoint.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!subdivedge\+\_\+iter@{subdivedge\+\_\+iter}}
\index{subdivedge\+\_\+iter@{subdivedge\+\_\+iter}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{subdivedge\+\_\+iter}{subdivedge_iter}}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\+::vector$<${\bf Subdivision\+Edge}$\ast$$>$\+::iterator {\bf Ship\+C\+A\+D\+::subdivedge\+\_\+iter}}\hypertarget{namespaceShipCAD_a7767250c742ad6114e3f076743d18461}{}\label{namespaceShipCAD_a7767250c742ad6114e3f076743d18461}


Definition at line 111 of file subdivedge.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!subdivface\+\_\+iter@{subdivface\+\_\+iter}}
\index{subdivface\+\_\+iter@{subdivface\+\_\+iter}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{subdivface\+\_\+iter}{subdivface_iter}}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\+::vector$<${\bf Subdivision\+Face}$\ast$$>$\+::iterator {\bf Ship\+C\+A\+D\+::subdivface\+\_\+iter}}\hypertarget{namespaceShipCAD_a14b9ceea38e54192b32764021161d199}{}\label{namespaceShipCAD_a14b9ceea38e54192b32764021161d199}


Definition at line 214 of file subdivface.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Subdivision\+Control\+Curve\+Vector@{Subdivision\+Control\+Curve\+Vector}}
\index{Subdivision\+Control\+Curve\+Vector@{Subdivision\+Control\+Curve\+Vector}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Subdivision\+Control\+Curve\+Vector}{SubdivisionControlCurveVector}}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Pointer\+Vector}$<${\bf Subdivision\+Control\+Curve}$>$ {\bf Ship\+C\+A\+D\+::\+Subdivision\+Control\+Curve\+Vector}}\hypertarget{namespaceShipCAD_aa9dd7a826ae5254e377dac43ea19da80}{}\label{namespaceShipCAD_aa9dd7a826ae5254e377dac43ea19da80}


Definition at line 114 of file subdivcontrolcurve.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!subdivlayer\+\_\+iter@{subdivlayer\+\_\+iter}}
\index{subdivlayer\+\_\+iter@{subdivlayer\+\_\+iter}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{subdivlayer\+\_\+iter}{subdivlayer_iter}}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\+::vector$<${\bf Subdivision\+Layer}$\ast$$>$\+::iterator {\bf Ship\+C\+A\+D\+::subdivlayer\+\_\+iter}}\hypertarget{namespaceShipCAD_a2e2f532082837a6a283b3660d991a974}{}\label{namespaceShipCAD_a2e2f532082837a6a283b3660d991a974}


Definition at line 181 of file subdivlayer.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!subdivpt\+\_\+iter@{subdivpt\+\_\+iter}}
\index{subdivpt\+\_\+iter@{subdivpt\+\_\+iter}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{subdivpt\+\_\+iter}{subdivpt_iter}}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\+::vector$<${\bf Subdivision\+Point}$\ast$$>$\+::iterator {\bf Ship\+C\+A\+D\+::subdivpt\+\_\+iter}}\hypertarget{namespaceShipCAD_a61bebf1ead1dfa9fc86ab99b1025f66a}{}\label{namespaceShipCAD_a61bebf1ead1dfa9fc86ab99b1025f66a}


Definition at line 198 of file subdivpoint.\+h.



\subsection{Enumeration Type Documentation}
\index{Ship\+C\+AD@{Ship\+C\+AD}!assemble\+\_\+mode\+\_\+t@{assemble\+\_\+mode\+\_\+t}}
\index{assemble\+\_\+mode\+\_\+t@{assemble\+\_\+mode\+\_\+t}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{assemble\+\_\+mode\+\_\+t}{assemble_mode_t}}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Ship\+C\+A\+D\+::assemble\+\_\+mode\+\_\+t}}\hypertarget{namespaceShipCAD_aaba70dc1c80dc540bef320cb9b720a20}{}\label{namespaceShipCAD_aaba70dc1c80dc540bef320cb9b720a20}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{am\+Regular@{am\+Regular}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!am\+Regular@{am\+Regular}}\item[{\em 
am\+Regular\hypertarget{namespaceShipCAD_aaba70dc1c80dc540bef320cb9b720a20aeaaf4833473e9e7c408d2f02c7d112c6}{}\label{namespaceShipCAD_aaba70dc1c80dc540bef320cb9b720a20aeaaf4833473e9e7c408d2f02c7d112c6}
}]\index{am\+N\+U\+R\+BS@{am\+N\+U\+R\+BS}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!am\+N\+U\+R\+BS@{am\+N\+U\+R\+BS}}\item[{\em 
am\+N\+U\+R\+BS\hypertarget{namespaceShipCAD_aaba70dc1c80dc540bef320cb9b720a20a33b807b55bc385bc5d69ceb0d74d53fc}{}\label{namespaceShipCAD_aaba70dc1c80dc540bef320cb9b720a20a33b807b55bc385bc5d69ceb0d74d53fc}
}]\end{description}
\end{Desc}


Definition at line 151 of file shipcadlib.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!camera\+\_\+type\+\_\+t@{camera\+\_\+type\+\_\+t}}
\index{camera\+\_\+type\+\_\+t@{camera\+\_\+type\+\_\+t}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{camera\+\_\+type\+\_\+t}{camera_type_t}}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Ship\+C\+A\+D\+::camera\+\_\+type\+\_\+t}}\hypertarget{namespaceShipCAD_a58f51ebd2e66de5e41c2ffd6f434241e}{}\label{namespaceShipCAD_a58f51ebd2e66de5e41c2ffd6f434241e}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{ft\+Wide@{ft\+Wide}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!ft\+Wide@{ft\+Wide}}\item[{\em 
ft\+Wide\hypertarget{namespaceShipCAD_a58f51ebd2e66de5e41c2ffd6f434241ea8dd7ff1f55f46fc3db3ca743a05d93af}{}\label{namespaceShipCAD_a58f51ebd2e66de5e41c2ffd6f434241ea8dd7ff1f55f46fc3db3ca743a05d93af}
}]\index{ft\+Standard@{ft\+Standard}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!ft\+Standard@{ft\+Standard}}\item[{\em 
ft\+Standard\hypertarget{namespaceShipCAD_a58f51ebd2e66de5e41c2ffd6f434241eaa4100f3d3073015697dd72390b55fa44}{}\label{namespaceShipCAD_a58f51ebd2e66de5e41c2ffd6f434241eaa4100f3d3073015697dd72390b55fa44}
}]\index{ft\+Short\+Tele@{ft\+Short\+Tele}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!ft\+Short\+Tele@{ft\+Short\+Tele}}\item[{\em 
ft\+Short\+Tele\hypertarget{namespaceShipCAD_a58f51ebd2e66de5e41c2ffd6f434241ea6f6aa44840629968cfa9815da646a9d0}{}\label{namespaceShipCAD_a58f51ebd2e66de5e41c2ffd6f434241ea6f6aa44840629968cfa9815da646a9d0}
}]\index{ft\+Medium\+Tele@{ft\+Medium\+Tele}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!ft\+Medium\+Tele@{ft\+Medium\+Tele}}\item[{\em 
ft\+Medium\+Tele\hypertarget{namespaceShipCAD_a58f51ebd2e66de5e41c2ffd6f434241eae0b0ae77e52d05ac3800353808e16afe}{}\label{namespaceShipCAD_a58f51ebd2e66de5e41c2ffd6f434241eae0b0ae77e52d05ac3800353808e16afe}
}]\index{ft\+Far\+Tele@{ft\+Far\+Tele}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!ft\+Far\+Tele@{ft\+Far\+Tele}}\item[{\em 
ft\+Far\+Tele\hypertarget{namespaceShipCAD_a58f51ebd2e66de5e41c2ffd6f434241ea849a215bd25942bb9594c0389614fafe}{}\label{namespaceShipCAD_a58f51ebd2e66de5e41c2ffd6f434241ea849a215bd25942bb9594c0389614fafe}
}]\end{description}
\end{Desc}


Definition at line 77 of file shipcadlib.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!edit\+\_\+mode\+\_\+t@{edit\+\_\+mode\+\_\+t}}
\index{edit\+\_\+mode\+\_\+t@{edit\+\_\+mode\+\_\+t}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{edit\+\_\+mode\+\_\+t}{edit_mode_t}}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Ship\+C\+A\+D\+::edit\+\_\+mode\+\_\+t}}\hypertarget{namespaceShipCAD_a66144e3f3a53da01f51c9bdb94fcae31}{}\label{namespaceShipCAD_a66144e3f3a53da01f51c9bdb94fcae31}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{em\+Select\+Items@{em\+Select\+Items}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!em\+Select\+Items@{em\+Select\+Items}}\item[{\em 
em\+Select\+Items\hypertarget{namespaceShipCAD_a66144e3f3a53da01f51c9bdb94fcae31a756e1b357bd617f738749df02e51be25}{}\label{namespaceShipCAD_a66144e3f3a53da01f51c9bdb94fcae31a756e1b357bd617f738749df02e51be25}
}]\end{description}
\end{Desc}


Definition at line 135 of file shipcadlib.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!hydrostatic\+\_\+coeff\+\_\+t@{hydrostatic\+\_\+coeff\+\_\+t}}
\index{hydrostatic\+\_\+coeff\+\_\+t@{hydrostatic\+\_\+coeff\+\_\+t}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{hydrostatic\+\_\+coeff\+\_\+t}{hydrostatic_coeff_t}}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Ship\+C\+A\+D\+::hydrostatic\+\_\+coeff\+\_\+t}}\hypertarget{namespaceShipCAD_a9cf77f0900561de9efc572dcbad4dbbd}{}\label{namespaceShipCAD_a9cf77f0900561de9efc572dcbad4dbbd}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{fc\+Project\+Settings@{fc\+Project\+Settings}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fc\+Project\+Settings@{fc\+Project\+Settings}}\item[{\em 
fc\+Project\+Settings\hypertarget{namespaceShipCAD_a9cf77f0900561de9efc572dcbad4dbbdad8361f42820d1f843333d60c0523d71d}{}\label{namespaceShipCAD_a9cf77f0900561de9efc572dcbad4dbbdad8361f42820d1f843333d60c0523d71d}
}]\index{fc\+Actual\+Data@{fc\+Actual\+Data}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fc\+Actual\+Data@{fc\+Actual\+Data}}\item[{\em 
fc\+Actual\+Data\hypertarget{namespaceShipCAD_a9cf77f0900561de9efc572dcbad4dbbda3ccd536b7a23b7c708cde0d5ba9633d2}{}\label{namespaceShipCAD_a9cf77f0900561de9efc572dcbad4dbbda3ccd536b7a23b7c708cde0d5ba9633d2}
}]\end{description}
\end{Desc}


Definition at line 123 of file shipcadlib.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!hydrostatic\+\_\+type\+\_\+t@{hydrostatic\+\_\+type\+\_\+t}}
\index{hydrostatic\+\_\+type\+\_\+t@{hydrostatic\+\_\+type\+\_\+t}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{hydrostatic\+\_\+type\+\_\+t}{hydrostatic_type_t}}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Ship\+C\+A\+D\+::hydrostatic\+\_\+type\+\_\+t}}\hypertarget{namespaceShipCAD_afea51c7ee52940acebde29bf44206fe2}{}\label{namespaceShipCAD_afea51c7ee52940acebde29bf44206fe2}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{fh\+Short@{fh\+Short}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fh\+Short@{fh\+Short}}\item[{\em 
fh\+Short\hypertarget{namespaceShipCAD_afea51c7ee52940acebde29bf44206fe2acfe164530006cd2d42457ec37a0ac24b}{}\label{namespaceShipCAD_afea51c7ee52940acebde29bf44206fe2acfe164530006cd2d42457ec37a0ac24b}
}]\index{fh\+Extensive@{fh\+Extensive}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fh\+Extensive@{fh\+Extensive}}\item[{\em 
fh\+Extensive\hypertarget{namespaceShipCAD_afea51c7ee52940acebde29bf44206fe2affd22dfa116c9ea2aae175feba432961}{}\label{namespaceShipCAD_afea51c7ee52940acebde29bf44206fe2affd22dfa116c9ea2aae175feba432961}
}]\end{description}
\end{Desc}


Definition at line 85 of file shipcadlib.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!hydrostatics\+\_\+calc\+\_\+t@{hydrostatics\+\_\+calc\+\_\+t}}
\index{hydrostatics\+\_\+calc\+\_\+t@{hydrostatics\+\_\+calc\+\_\+t}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{hydrostatics\+\_\+calc\+\_\+t}{hydrostatics_calc_t}}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Ship\+C\+A\+D\+::hydrostatics\+\_\+calc\+\_\+t}}\hypertarget{namespaceShipCAD_ac9ff7fc96a52fceafa83edc0d5d06fce}{}\label{namespaceShipCAD_ac9ff7fc96a52fceafa83edc0d5d06fce}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{hc\+All@{hc\+All}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!hc\+All@{hc\+All}}\item[{\em 
hc\+All\hypertarget{namespaceShipCAD_ac9ff7fc96a52fceafa83edc0d5d06fcea286a6df9f1d51b98fcbb54f17fbe94d6}{}\label{namespaceShipCAD_ac9ff7fc96a52fceafa83edc0d5d06fcea286a6df9f1d51b98fcbb54f17fbe94d6}
}]\index{hc\+Volume@{hc\+Volume}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!hc\+Volume@{hc\+Volume}}\item[{\em 
hc\+Volume\hypertarget{namespaceShipCAD_ac9ff7fc96a52fceafa83edc0d5d06fcea10c43915dd92febe1ef5328644ea2c11}{}\label{namespaceShipCAD_ac9ff7fc96a52fceafa83edc0d5d06fcea10c43915dd92febe1ef5328644ea2c11}
}]\index{hc\+Mainframe@{hc\+Mainframe}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!hc\+Mainframe@{hc\+Mainframe}}\item[{\em 
hc\+Mainframe\hypertarget{namespaceShipCAD_ac9ff7fc96a52fceafa83edc0d5d06fceafb6824df148d1417a4db618e6b4dc4f6}{}\label{namespaceShipCAD_ac9ff7fc96a52fceafa83edc0d5d06fceafb6824df148d1417a4db618e6b4dc4f6}
}]\index{hc\+Waterline@{hc\+Waterline}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!hc\+Waterline@{hc\+Waterline}}\item[{\em 
hc\+Waterline\hypertarget{namespaceShipCAD_ac9ff7fc96a52fceafa83edc0d5d06fceaf80e166aa0cdd03c48f0633f31da8e9f}{}\label{namespaceShipCAD_ac9ff7fc96a52fceafa83edc0d5d06fceaf80e166aa0cdd03c48f0633f31da8e9f}
}]\index{hc\+S\+AC@{hc\+S\+AC}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!hc\+S\+AC@{hc\+S\+AC}}\item[{\em 
hc\+S\+AC\hypertarget{namespaceShipCAD_ac9ff7fc96a52fceafa83edc0d5d06fceaad2786c707b686af79e47765eba073d0}{}\label{namespaceShipCAD_ac9ff7fc96a52fceafa83edc0d5d06fceaad2786c707b686af79e47765eba073d0}
}]\index{hc\+Lateral\+Area@{hc\+Lateral\+Area}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!hc\+Lateral\+Area@{hc\+Lateral\+Area}}\item[{\em 
hc\+Lateral\+Area\hypertarget{namespaceShipCAD_ac9ff7fc96a52fceafa83edc0d5d06fcea3d6d84cee5b8c79bf4d75a5dbc084e45}{}\label{namespaceShipCAD_ac9ff7fc96a52fceafa83edc0d5d06fcea3d6d84cee5b8c79bf4d75a5dbc084e45}
}]\end{description}
\end{Desc}


Definition at line 101 of file shipcadlib.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!hydrostatics\+\_\+error\+\_\+t@{hydrostatics\+\_\+error\+\_\+t}}
\index{hydrostatics\+\_\+error\+\_\+t@{hydrostatics\+\_\+error\+\_\+t}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{hydrostatics\+\_\+error\+\_\+t}{hydrostatics_error_t}}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Ship\+C\+A\+D\+::hydrostatics\+\_\+error\+\_\+t}}\hypertarget{namespaceShipCAD_a1d801b982c24bce0cf10ffd4b995dda0}{}\label{namespaceShipCAD_a1d801b982c24bce0cf10ffd4b995dda0}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{fe\+Nothing\+Submerged@{fe\+Nothing\+Submerged}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fe\+Nothing\+Submerged@{fe\+Nothing\+Submerged}}\item[{\em 
fe\+Nothing\+Submerged\hypertarget{namespaceShipCAD_a1d801b982c24bce0cf10ffd4b995dda0a0813d6e8a63bd1d17941b321715da4dd}{}\label{namespaceShipCAD_a1d801b982c24bce0cf10ffd4b995dda0a0813d6e8a63bd1d17941b321715da4dd}
}]\index{fe\+Making\+Water@{fe\+Making\+Water}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fe\+Making\+Water@{fe\+Making\+Water}}\item[{\em 
fe\+Making\+Water\hypertarget{namespaceShipCAD_a1d801b982c24bce0cf10ffd4b995dda0ab5378e2d38e12b21bcb9f89b4da7a024}{}\label{namespaceShipCAD_a1d801b982c24bce0cf10ffd4b995dda0ab5378e2d38e12b21bcb9f89b4da7a024}
}]\index{fe\+Not\+Enough\+Buoyancy@{fe\+Not\+Enough\+Buoyancy}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fe\+Not\+Enough\+Buoyancy@{fe\+Not\+Enough\+Buoyancy}}\item[{\em 
fe\+Not\+Enough\+Buoyancy\hypertarget{namespaceShipCAD_a1d801b982c24bce0cf10ffd4b995dda0aabbfd93b3daf55e537540d8d4ac8eb0c}{}\label{namespaceShipCAD_a1d801b982c24bce0cf10ffd4b995dda0aabbfd93b3daf55e537540d8d4ac8eb0c}
}]\end{description}
\end{Desc}


Definition at line 95 of file shipcadlib.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!hydrostatics\+\_\+mode\+\_\+t@{hydrostatics\+\_\+mode\+\_\+t}}
\index{hydrostatics\+\_\+mode\+\_\+t@{hydrostatics\+\_\+mode\+\_\+t}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{hydrostatics\+\_\+mode\+\_\+t}{hydrostatics_mode_t}}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Ship\+C\+A\+D\+::hydrostatics\+\_\+mode\+\_\+t}}\hypertarget{namespaceShipCAD_a2c84d37615dd30be37ed0253501fb9a3}{}\label{namespaceShipCAD_a2c84d37615dd30be37ed0253501fb9a3}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{fh\+Single\+Calculation@{fh\+Single\+Calculation}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fh\+Single\+Calculation@{fh\+Single\+Calculation}}\item[{\em 
fh\+Single\+Calculation\hypertarget{namespaceShipCAD_a2c84d37615dd30be37ed0253501fb9a3ab322857f69d00b378f611acbb12bc663}{}\label{namespaceShipCAD_a2c84d37615dd30be37ed0253501fb9a3ab322857f69d00b378f611acbb12bc663}
}]\index{fh\+Multiple\+Calculations@{fh\+Multiple\+Calculations}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fh\+Multiple\+Calculations@{fh\+Multiple\+Calculations}}\item[{\em 
fh\+Multiple\+Calculations\hypertarget{namespaceShipCAD_a2c84d37615dd30be37ed0253501fb9a3aee242838cf07c1950c914a44851804b5}{}\label{namespaceShipCAD_a2c84d37615dd30be37ed0253501fb9a3aee242838cf07c1950c914a44851804b5}
}]\end{description}
\end{Desc}


Definition at line 90 of file shipcadlib.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!intersection\+\_\+type\+\_\+t@{intersection\+\_\+type\+\_\+t}}
\index{intersection\+\_\+type\+\_\+t@{intersection\+\_\+type\+\_\+t}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{intersection\+\_\+type\+\_\+t}{intersection_type_t}}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Ship\+C\+A\+D\+::intersection\+\_\+type\+\_\+t}}\hypertarget{namespaceShipCAD_aa56834b730aafdf2786ddc9a60a046fd}{}\label{namespaceShipCAD_aa56834b730aafdf2786ddc9a60a046fd}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{fi\+Free@{fi\+Free}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fi\+Free@{fi\+Free}}\item[{\em 
fi\+Free\hypertarget{namespaceShipCAD_aa56834b730aafdf2786ddc9a60a046fda8e5e5dc412191234863fae2f98709477}{}\label{namespaceShipCAD_aa56834b730aafdf2786ddc9a60a046fda8e5e5dc412191234863fae2f98709477}
}]\index{fi\+Station@{fi\+Station}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fi\+Station@{fi\+Station}}\item[{\em 
fi\+Station\hypertarget{namespaceShipCAD_aa56834b730aafdf2786ddc9a60a046fdaf57b8e7252f2c55c001df410276926e3}{}\label{namespaceShipCAD_aa56834b730aafdf2786ddc9a60a046fdaf57b8e7252f2c55c001df410276926e3}
}]\index{fi\+Buttock@{fi\+Buttock}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fi\+Buttock@{fi\+Buttock}}\item[{\em 
fi\+Buttock\hypertarget{namespaceShipCAD_aa56834b730aafdf2786ddc9a60a046fdabcf8818401977200b532a1e18ec2df70}{}\label{namespaceShipCAD_aa56834b730aafdf2786ddc9a60a046fdabcf8818401977200b532a1e18ec2df70}
}]\index{fi\+Waterline@{fi\+Waterline}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fi\+Waterline@{fi\+Waterline}}\item[{\em 
fi\+Waterline\hypertarget{namespaceShipCAD_aa56834b730aafdf2786ddc9a60a046fda44c99d1edb96c2c22b5661d927eb9041}{}\label{namespaceShipCAD_aa56834b730aafdf2786ddc9a60a046fda44c99d1edb96c2c22b5661d927eb9041}
}]\index{fi\+Diagonal@{fi\+Diagonal}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fi\+Diagonal@{fi\+Diagonal}}\item[{\em 
fi\+Diagonal\hypertarget{namespaceShipCAD_aa56834b730aafdf2786ddc9a60a046fda5631b7711c628bad5c561953eaac2863}{}\label{namespaceShipCAD_aa56834b730aafdf2786ddc9a60a046fda5631b7711c628bad5c561953eaac2863}
}]\end{description}
\end{Desc}


Definition at line 110 of file shipcadlib.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Layer\+Select\+Mode@{Layer\+Select\+Mode}}
\index{Layer\+Select\+Mode@{Layer\+Select\+Mode}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Layer\+Select\+Mode}{LayerSelectMode}}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Ship\+C\+A\+D\+::\+Layer\+Select\+Mode}}\hypertarget{namespaceShipCAD_a33e1c54e3609477478431b6a4c106804}{}\label{namespaceShipCAD_a33e1c54e3609477478431b6a4c106804}


enumeration of layer select mode 

\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{fs\+Faces@{fs\+Faces}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fs\+Faces@{fs\+Faces}}\item[{\em 
fs\+Faces\hypertarget{namespaceShipCAD_a33e1c54e3609477478431b6a4c106804ade3fc9da994d6e6ab125978921665966}{}\label{namespaceShipCAD_a33e1c54e3609477478431b6a4c106804ade3fc9da994d6e6ab125978921665966}
}]\index{fs\+Points@{fs\+Points}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fs\+Points@{fs\+Points}}\item[{\em 
fs\+Points\hypertarget{namespaceShipCAD_a33e1c54e3609477478431b6a4c106804a542ad0cef590007de75623cc41a83551}{}\label{namespaceShipCAD_a33e1c54e3609477478431b6a4c106804a542ad0cef590007de75623cc41a83551}
}]\end{description}
\end{Desc}


Definition at line 124 of file dialogdata.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!model\+\_\+view\+\_\+t@{model\+\_\+view\+\_\+t}}
\index{model\+\_\+view\+\_\+t@{model\+\_\+view\+\_\+t}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{model\+\_\+view\+\_\+t}{model_view_t}}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Ship\+C\+A\+D\+::model\+\_\+view\+\_\+t}}\hypertarget{namespaceShipCAD_a742f9cd95e62e207769e17467ecd5bb7}{}\label{namespaceShipCAD_a742f9cd95e62e207769e17467ecd5bb7}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{mv\+Port@{mv\+Port}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!mv\+Port@{mv\+Port}}\item[{\em 
mv\+Port\hypertarget{namespaceShipCAD_a742f9cd95e62e207769e17467ecd5bb7a033d1219796735edf6dbe71c266566ad}{}\label{namespaceShipCAD_a742f9cd95e62e207769e17467ecd5bb7a033d1219796735edf6dbe71c266566ad}
}]\index{mv\+Both@{mv\+Both}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!mv\+Both@{mv\+Both}}\item[{\em 
mv\+Both\hypertarget{namespaceShipCAD_a742f9cd95e62e207769e17467ecd5bb7ad45c94ca5dea7f967d58f9864f49c465}{}\label{namespaceShipCAD_a742f9cd95e62e207769e17467ecd5bb7ad45c94ca5dea7f967d58f9864f49c465}
}]\end{description}
\end{Desc}


Definition at line 156 of file shipcadlib.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!plane\+\_\+selected\+\_\+t@{plane\+\_\+selected\+\_\+t}}
\index{plane\+\_\+selected\+\_\+t@{plane\+\_\+selected\+\_\+t}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{plane\+\_\+selected\+\_\+t}{plane_selected_t}}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Ship\+C\+A\+D\+::plane\+\_\+selected\+\_\+t}}\hypertarget{namespaceShipCAD_aa0f3f220e102a298d2e698af90f5e1fc}{}\label{namespaceShipCAD_aa0f3f220e102a298d2e698af90f5e1fc}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{transverse@{transverse}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!transverse@{transverse}}\item[{\em 
transverse\hypertarget{namespaceShipCAD_aa0f3f220e102a298d2e698af90f5e1fca98cd91131ffa92087bfcefe6fb5e4d6d}{}\label{namespaceShipCAD_aa0f3f220e102a298d2e698af90f5e1fca98cd91131ffa92087bfcefe6fb5e4d6d}
}]\index{horizontal@{horizontal}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!horizontal@{horizontal}}\item[{\em 
horizontal\hypertarget{namespaceShipCAD_aa0f3f220e102a298d2e698af90f5e1fca57120f6bafe4097088113cc547769d44}{}\label{namespaceShipCAD_aa0f3f220e102a298d2e698af90f5e1fca57120f6bafe4097088113cc547769d44}
}]\index{vertical@{vertical}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!vertical@{vertical}}\item[{\em 
vertical\hypertarget{namespaceShipCAD_aa0f3f220e102a298d2e698af90f5e1fcaea2a3030c56526b9d4d3675ca0d5cefe}{}\label{namespaceShipCAD_aa0f3f220e102a298d2e698af90f5e1fcaea2a3030c56526b9d4d3675ca0d5cefe}
}]\end{description}
\end{Desc}


Definition at line 161 of file shipcadlib.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Polygon\+Orientation@{Polygon\+Orientation}}
\index{Polygon\+Orientation@{Polygon\+Orientation}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Polygon\+Orientation}{PolygonOrientation}}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Ship\+C\+A\+D\+::\+Polygon\+Orientation}}\hypertarget{namespaceShipCAD_a22a4489ec7a6505c3c30fa7562175ca4}{}\label{namespaceShipCAD_a22a4489ec7a6505c3c30fa7562175ca4}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{po\+C\+CW@{po\+C\+CW}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!po\+C\+CW@{po\+C\+CW}}\item[{\em 
po\+C\+CW\hypertarget{namespaceShipCAD_a22a4489ec7a6505c3c30fa7562175ca4a01f1428a8463fbd20d80a779e70b39cd}{}\label{namespaceShipCAD_a22a4489ec7a6505c3c30fa7562175ca4a01f1428a8463fbd20d80a779e70b39cd}
}]\index{po\+CW@{po\+CW}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!po\+CW@{po\+CW}}\item[{\em 
po\+CW\hypertarget{namespaceShipCAD_a22a4489ec7a6505c3c30fa7562175ca4a785617c870ff5f0a2321ca2f6542aa7b}{}\label{namespaceShipCAD_a22a4489ec7a6505c3c30fa7562175ca4a785617c870ff5f0a2321ca2f6542aa7b}
}]\end{description}
\end{Desc}


Definition at line 66 of file developedpatch.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!precision\+\_\+t@{precision\+\_\+t}}
\index{precision\+\_\+t@{precision\+\_\+t}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{precision\+\_\+t}{precision_t}}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Ship\+C\+A\+D\+::precision\+\_\+t}}\hypertarget{namespaceShipCAD_ae13c7e36dfb1e2300741a631041cd915}{}\label{namespaceShipCAD_ae13c7e36dfb1e2300741a631041cd915}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{fp\+Low@{fp\+Low}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fp\+Low@{fp\+Low}}\item[{\em 
fp\+Low\hypertarget{namespaceShipCAD_ae13c7e36dfb1e2300741a631041cd915a493cc0c95c59b2a1a0ca04b7a337295b}{}\label{namespaceShipCAD_ae13c7e36dfb1e2300741a631041cd915a493cc0c95c59b2a1a0ca04b7a337295b}
}]\index{fp\+Medium@{fp\+Medium}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fp\+Medium@{fp\+Medium}}\item[{\em 
fp\+Medium\hypertarget{namespaceShipCAD_ae13c7e36dfb1e2300741a631041cd915af3fadd404d6708aa5759c5c33df67abb}{}\label{namespaceShipCAD_ae13c7e36dfb1e2300741a631041cd915af3fadd404d6708aa5759c5c33df67abb}
}]\index{fp\+High@{fp\+High}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fp\+High@{fp\+High}}\item[{\em 
fp\+High\hypertarget{namespaceShipCAD_ae13c7e36dfb1e2300741a631041cd915a0ea3ca30ae42b68a60d3a4cd4d08fa17}{}\label{namespaceShipCAD_ae13c7e36dfb1e2300741a631041cd915a0ea3ca30ae42b68a60d3a4cd4d08fa17}
}]\index{fp\+Very\+High@{fp\+Very\+High}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fp\+Very\+High@{fp\+Very\+High}}\item[{\em 
fp\+Very\+High\hypertarget{namespaceShipCAD_ae13c7e36dfb1e2300741a631041cd915a1d5c86b4ae0e1bc82af908b35b29f3d6}{}\label{namespaceShipCAD_ae13c7e36dfb1e2300741a631041cd915a1d5c86b4ae0e1bc82af908b35b29f3d6}
}]\end{description}
\end{Desc}


Definition at line 128 of file shipcadlib.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!subdiv\+\_\+mode\+\_\+t@{subdiv\+\_\+mode\+\_\+t}}
\index{subdiv\+\_\+mode\+\_\+t@{subdiv\+\_\+mode\+\_\+t}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{subdiv\+\_\+mode\+\_\+t}{subdiv_mode_t}}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Ship\+C\+A\+D\+::subdiv\+\_\+mode\+\_\+t}}\hypertarget{namespaceShipCAD_a4a9d1acfd6a2e1e9078a5dcc36f0c817}{}\label{namespaceShipCAD_a4a9d1acfd6a2e1e9078a5dcc36f0c817}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{fm\+Quad\+Triangle@{fm\+Quad\+Triangle}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fm\+Quad\+Triangle@{fm\+Quad\+Triangle}}\item[{\em 
fm\+Quad\+Triangle\hypertarget{namespaceShipCAD_a4a9d1acfd6a2e1e9078a5dcc36f0c817a8b220f0a4397af67b1431a98e2f44da0}{}\label{namespaceShipCAD_a4a9d1acfd6a2e1e9078a5dcc36f0c817a8b220f0a4397af67b1431a98e2f44da0}
}]\index{fm\+Catmull\+Clark@{fm\+Catmull\+Clark}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fm\+Catmull\+Clark@{fm\+Catmull\+Clark}}\item[{\em 
fm\+Catmull\+Clark\hypertarget{namespaceShipCAD_a4a9d1acfd6a2e1e9078a5dcc36f0c817a7ae33add00d7fe33cdfac27bbddfef84}{}\label{namespaceShipCAD_a4a9d1acfd6a2e1e9078a5dcc36f0c817a7ae33add00d7fe33cdfac27bbddfef84}
}]\end{description}
\end{Desc}


Definition at line 146 of file shipcadlib.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!unit\+\_\+type\+\_\+t@{unit\+\_\+type\+\_\+t}}
\index{unit\+\_\+type\+\_\+t@{unit\+\_\+type\+\_\+t}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{unit\+\_\+type\+\_\+t}{unit_type_t}}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Ship\+C\+A\+D\+::unit\+\_\+type\+\_\+t}}\hypertarget{namespaceShipCAD_ac6a7a28b4b063771afae92decb602da5}{}\label{namespaceShipCAD_ac6a7a28b4b063771afae92decb602da5}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{fu\+Metric@{fu\+Metric}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fu\+Metric@{fu\+Metric}}\item[{\em 
fu\+Metric\hypertarget{namespaceShipCAD_ac6a7a28b4b063771afae92decb602da5a867fb274949bd7c8474546b9d0fb703f}{}\label{namespaceShipCAD_ac6a7a28b4b063771afae92decb602da5a867fb274949bd7c8474546b9d0fb703f}
}]\index{fu\+Imperial@{fu\+Imperial}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fu\+Imperial@{fu\+Imperial}}\item[{\em 
fu\+Imperial\hypertarget{namespaceShipCAD_ac6a7a28b4b063771afae92decb602da5a77b7e6068aae48ecd768c4a6e7637fe7}{}\label{namespaceShipCAD_ac6a7a28b4b063771afae92decb602da5a77b7e6068aae48ecd768c4a6e7637fe7}
}]\end{description}
\end{Desc}


Definition at line 118 of file shipcadlib.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!version\+\_\+t@{version\+\_\+t}}
\index{version\+\_\+t@{version\+\_\+t}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{version\+\_\+t}{version_t}}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Ship\+C\+A\+D\+::version\+\_\+t}}\hypertarget{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694f}{}\label{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694f}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{fv100@{fv100}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fv100@{fv100}}\item[{\em 
fv100\hypertarget{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa51d8bd5c8f27b04aab10ca53548e859c}{}\label{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa51d8bd5c8f27b04aab10ca53548e859c}
}]\index{fv110@{fv110}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fv110@{fv110}}\item[{\em 
fv110\hypertarget{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694faf700cb210a7e4b37d5d0d8652005d595}{}\label{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694faf700cb210a7e4b37d5d0d8652005d595}
}]\index{fv120@{fv120}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fv120@{fv120}}\item[{\em 
fv120\hypertarget{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa83a7d69d5da0a112f916ff1688f8d6dd}{}\label{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa83a7d69d5da0a112f916ff1688f8d6dd}
}]\index{fv130@{fv130}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fv130@{fv130}}\item[{\em 
fv130\hypertarget{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694facb0b30e3da58984c321a7b65246a08f9}{}\label{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694facb0b30e3da58984c321a7b65246a08f9}
}]\index{fv140@{fv140}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fv140@{fv140}}\item[{\em 
fv140\hypertarget{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa5b4d8ad840592918aec14a3edc1df3f2}{}\label{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa5b4d8ad840592918aec14a3edc1df3f2}
}]\index{fv150@{fv150}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fv150@{fv150}}\item[{\em 
fv150\hypertarget{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa9f67969ee2f8bfb5a4eb688e3847140c}{}\label{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa9f67969ee2f8bfb5a4eb688e3847140c}
}]\index{fv160@{fv160}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fv160@{fv160}}\item[{\em 
fv160\hypertarget{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa6128c9d19a96365fd8083d38b10de79c}{}\label{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa6128c9d19a96365fd8083d38b10de79c}
}]\index{fv165@{fv165}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fv165@{fv165}}\item[{\em 
fv165\hypertarget{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fac5c1f75352cbf5b41a4f5986c3b6b1b6}{}\label{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fac5c1f75352cbf5b41a4f5986c3b6b1b6}
}]\index{fv170@{fv170}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fv170@{fv170}}\item[{\em 
fv170\hypertarget{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa10c57d7b30d8e16828373fe25fbb5808}{}\label{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa10c57d7b30d8e16828373fe25fbb5808}
}]\index{fv180@{fv180}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fv180@{fv180}}\item[{\em 
fv180\hypertarget{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fad37dee2f48dd8e2dacbb6ffb3928c7ea}{}\label{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fad37dee2f48dd8e2dacbb6ffb3928c7ea}
}]\index{fv190@{fv190}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fv190@{fv190}}\item[{\em 
fv190\hypertarget{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa4472e96be6523bd9fea6eb9dfc466613}{}\label{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa4472e96be6523bd9fea6eb9dfc466613}
}]\index{fv191@{fv191}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fv191@{fv191}}\item[{\em 
fv191\hypertarget{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa155bf0424294686430a251fed7e7cb83}{}\label{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa155bf0424294686430a251fed7e7cb83}
}]\index{fv195@{fv195}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fv195@{fv195}}\item[{\em 
fv195\hypertarget{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa673f81f8b47fa22013c6d8e384024206}{}\label{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa673f81f8b47fa22013c6d8e384024206}
}]\index{fv198@{fv198}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fv198@{fv198}}\item[{\em 
fv198\hypertarget{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa17ecdb9f82754915b973717e88f0590d}{}\label{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa17ecdb9f82754915b973717e88f0590d}
}]\index{fv200@{fv200}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fv200@{fv200}}\item[{\em 
fv200\hypertarget{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694faab39c17b56b22e9e5cef08717fb38f0f}{}\label{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694faab39c17b56b22e9e5cef08717fb38f0f}
}]\index{fv201@{fv201}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fv201@{fv201}}\item[{\em 
fv201\hypertarget{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fadfb6c2f915e2ab1d0a40f8c83a04748d}{}\label{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fadfb6c2f915e2ab1d0a40f8c83a04748d}
}]\index{fv210@{fv210}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fv210@{fv210}}\item[{\em 
fv210\hypertarget{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa067802fee608eba024414f07e484bd69}{}\label{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa067802fee608eba024414f07e484bd69}
}]\index{fv220@{fv220}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fv220@{fv220}}\item[{\em 
fv220\hypertarget{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa7c4c293ce3a7a28767e068ce7db49db5}{}\label{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa7c4c293ce3a7a28767e068ce7db49db5}
}]\index{fv230@{fv230}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fv230@{fv230}}\item[{\em 
fv230\hypertarget{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694faa40c53f1a6f1cb3feb2bfa7617bd7fdf}{}\label{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694faa40c53f1a6f1cb3feb2bfa7617bd7fdf}
}]\index{fv240@{fv240}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fv240@{fv240}}\item[{\em 
fv240\hypertarget{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa33350d13e86760a85b899cbb708c2adf}{}\label{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa33350d13e86760a85b899cbb708c2adf}
}]\index{fv250@{fv250}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fv250@{fv250}}\item[{\em 
fv250\hypertarget{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa528cae12d19cf6d3b76e6f2b6ef25a61}{}\label{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa528cae12d19cf6d3b76e6f2b6ef25a61}
}]\index{fv260@{fv260}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fv260@{fv260}}\item[{\em 
fv260\hypertarget{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa3e815680f28b362a51b70712e376e7d7}{}\label{namespaceShipCAD_af3a6fa23a7318acbda7b0066b53d694fa3e815680f28b362a51b70712e376e7d7}
}]\end{description}
\end{Desc}


Definition at line 39 of file version.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!vertex\+\_\+type\+\_\+t@{vertex\+\_\+type\+\_\+t}}
\index{vertex\+\_\+type\+\_\+t@{vertex\+\_\+type\+\_\+t}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{vertex\+\_\+type\+\_\+t}{vertex_type_t}}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Ship\+C\+A\+D\+::vertex\+\_\+type\+\_\+t}}\hypertarget{namespaceShipCAD_a03171cc921c53a568b778f5131a60deb}{}\label{namespaceShipCAD_a03171cc921c53a568b778f5131a60deb}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{sv\+Regular@{sv\+Regular}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!sv\+Regular@{sv\+Regular}}\item[{\em 
sv\+Regular\hypertarget{namespaceShipCAD_a03171cc921c53a568b778f5131a60deba11889066d8ae7a44f297f45684bb99de}{}\label{namespaceShipCAD_a03171cc921c53a568b778f5131a60deba11889066d8ae7a44f297f45684bb99de}
}]a regular point, no crease edges \index{sv\+Crease@{sv\+Crease}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!sv\+Crease@{sv\+Crease}}\item[{\em 
sv\+Crease\hypertarget{namespaceShipCAD_a03171cc921c53a568b778f5131a60deba79fc4e40055439350070993be28ec8ca}{}\label{namespaceShipCAD_a03171cc921c53a568b778f5131a60deba79fc4e40055439350070993be28ec8ca}
}]crease point, exactly 2 crease edges \index{sv\+Dart@{sv\+Dart}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!sv\+Dart@{sv\+Dart}}\item[{\em 
sv\+Dart\hypertarget{namespaceShipCAD_a03171cc921c53a568b778f5131a60debaf17373a62a5f899a61ed17d28e103d24}{}\label{namespaceShipCAD_a03171cc921c53a568b778f5131a60debaf17373a62a5f899a61ed17d28e103d24}
}]dart point, exactly 1 crease edge \index{sv\+Corner@{sv\+Corner}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!sv\+Corner@{sv\+Corner}}\item[{\em 
sv\+Corner\hypertarget{namespaceShipCAD_a03171cc921c53a568b778f5131a60deba8d802131f84b0a9edf8a419eded859d0}{}\label{namespaceShipCAD_a03171cc921c53a568b778f5131a60deba8d802131f84b0a9edf8a419eded859d0}
}]corner point that has more than 2 crease edges \end{description}
\end{Desc}


Definition at line 139 of file shipcadlib.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!viewport\+\_\+mode\+\_\+t@{viewport\+\_\+mode\+\_\+t}}
\index{viewport\+\_\+mode\+\_\+t@{viewport\+\_\+mode\+\_\+t}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{viewport\+\_\+mode\+\_\+t}{viewport_mode_t}}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Ship\+C\+A\+D\+::viewport\+\_\+mode\+\_\+t}}\hypertarget{namespaceShipCAD_a67437198ee14f74e6c5277d761894863}{}\label{namespaceShipCAD_a67437198ee14f74e6c5277d761894863}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{vm\+Wire\+Frame@{vm\+Wire\+Frame}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!vm\+Wire\+Frame@{vm\+Wire\+Frame}}\item[{\em 
vm\+Wire\+Frame\hypertarget{namespaceShipCAD_a67437198ee14f74e6c5277d761894863a109cd328af19be260371a7e5333043f8}{}\label{namespaceShipCAD_a67437198ee14f74e6c5277d761894863a109cd328af19be260371a7e5333043f8}
}]\index{vm\+Shade@{vm\+Shade}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!vm\+Shade@{vm\+Shade}}\item[{\em 
vm\+Shade\hypertarget{namespaceShipCAD_a67437198ee14f74e6c5277d761894863ab1258f959e2d114750dffb3f9c2e2c0c}{}\label{namespaceShipCAD_a67437198ee14f74e6c5277d761894863ab1258f959e2d114750dffb3f9c2e2c0c}
}]\index{vm\+Shade\+Gauss@{vm\+Shade\+Gauss}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!vm\+Shade\+Gauss@{vm\+Shade\+Gauss}}\item[{\em 
vm\+Shade\+Gauss\hypertarget{namespaceShipCAD_a67437198ee14f74e6c5277d761894863aaf20984128d2e9697958fa8c329a801a}{}\label{namespaceShipCAD_a67437198ee14f74e6c5277d761894863aaf20984128d2e9697958fa8c329a801a}
}]\index{vm\+Shade\+Developable@{vm\+Shade\+Developable}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!vm\+Shade\+Developable@{vm\+Shade\+Developable}}\item[{\em 
vm\+Shade\+Developable\hypertarget{namespaceShipCAD_a67437198ee14f74e6c5277d761894863a85babb2fea8446064bbbf526b10bf36b}{}\label{namespaceShipCAD_a67437198ee14f74e6c5277d761894863a85babb2fea8446064bbbf526b10bf36b}
}]\index{vm\+Shade\+Zebra@{vm\+Shade\+Zebra}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!vm\+Shade\+Zebra@{vm\+Shade\+Zebra}}\item[{\em 
vm\+Shade\+Zebra\hypertarget{namespaceShipCAD_a67437198ee14f74e6c5277d761894863a70fcfa9199faab53e43f138ed64ad12f}{}\label{namespaceShipCAD_a67437198ee14f74e6c5277d761894863a70fcfa9199faab53e43f138ed64ad12f}
}]\end{description}
\end{Desc}


Definition at line 62 of file shipcadlib.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!viewport\+\_\+type\+\_\+t@{viewport\+\_\+type\+\_\+t}}
\index{viewport\+\_\+type\+\_\+t@{viewport\+\_\+type\+\_\+t}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{viewport\+\_\+type\+\_\+t}{viewport_type_t}}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Ship\+C\+A\+D\+::viewport\+\_\+type\+\_\+t}}\hypertarget{namespaceShipCAD_aeeeb05810f2e31ef89fd4ac6b6ba9c0a}{}\label{namespaceShipCAD_aeeeb05810f2e31ef89fd4ac6b6ba9c0a}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{fv\+Bodyplan@{fv\+Bodyplan}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fv\+Bodyplan@{fv\+Bodyplan}}\item[{\em 
fv\+Bodyplan\hypertarget{namespaceShipCAD_aeeeb05810f2e31ef89fd4ac6b6ba9c0aa1bc519e3e41c233dd8e94c40af1fd36d}{}\label{namespaceShipCAD_aeeeb05810f2e31ef89fd4ac6b6ba9c0aa1bc519e3e41c233dd8e94c40af1fd36d}
}]\index{fv\+Profile@{fv\+Profile}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fv\+Profile@{fv\+Profile}}\item[{\em 
fv\+Profile\hypertarget{namespaceShipCAD_aeeeb05810f2e31ef89fd4ac6b6ba9c0aa05a0a083efb18429cbb855b2dcbf5e18}{}\label{namespaceShipCAD_aeeeb05810f2e31ef89fd4ac6b6ba9c0aa05a0a083efb18429cbb855b2dcbf5e18}
}]\index{fv\+Plan@{fv\+Plan}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fv\+Plan@{fv\+Plan}}\item[{\em 
fv\+Plan\hypertarget{namespaceShipCAD_aeeeb05810f2e31ef89fd4ac6b6ba9c0aab67fb04b0624572e1567bff4caefde27}{}\label{namespaceShipCAD_aeeeb05810f2e31ef89fd4ac6b6ba9c0aab67fb04b0624572e1567bff4caefde27}
}]\index{fv\+Perspective@{fv\+Perspective}!Ship\+C\+AD@{Ship\+C\+AD}}\index{Ship\+C\+AD@{Ship\+C\+AD}!fv\+Perspective@{fv\+Perspective}}\item[{\em 
fv\+Perspective\hypertarget{namespaceShipCAD_aeeeb05810f2e31ef89fd4ac6b6ba9c0aaccdacbf26c0ffe78ae55326537a28dc1}{}\label{namespaceShipCAD_aeeeb05810f2e31ef89fd4ac6b6ba9c0aaccdacbf26c0ffe78ae55326537a28dc1}
}]\end{description}
\end{Desc}


Definition at line 70 of file shipcadlib.\+h.



\subsection{Function Documentation}
\index{Ship\+C\+AD@{Ship\+C\+AD}!Area\+Str@{Area\+Str}}
\index{Area\+Str@{Area\+Str}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Area\+Str(unit\+\_\+type\+\_\+t units)}{AreaStr(unit_type_t units)}}]{\setlength{\rightskip}{0pt plus 5cm}Q\+String Ship\+C\+A\+D\+::\+Area\+Str (
\begin{DoxyParamCaption}
\item[{{\bf unit\+\_\+type\+\_\+t}}]{units}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_a2d7cf2fbcca4bd1dd75fd9ceb4ff0fa9}{}\label{namespaceShipCAD_a2d7cf2fbcca4bd1dd75fd9ceb4ff0fa9}


Definition at line 43 of file shipcadlib.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Bool\+To\+Str@{Bool\+To\+Str}}
\index{Bool\+To\+Str@{Bool\+To\+Str}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Bool\+To\+Str(bool val)}{BoolToStr(bool val)}}]{\setlength{\rightskip}{0pt plus 5cm}Q\+String Ship\+C\+A\+D\+::\+Bool\+To\+Str (
\begin{DoxyParamCaption}
\item[{bool}]{val}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_a45ba7de6922e89cbddf2a4c9c810a2e4}{}\label{namespaceShipCAD_a45ba7de6922e89cbddf2a4c9c810a2e4}


convert a bool to a string for serialization 


\begin{DoxyParams}{Parameters}
{\em val} & boolean value \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Q\+String containing \char`\"{}0\char`\"{} or \char`\"{}1\char`\"{} depending on value 
\end{DoxyReturn}


Definition at line 410 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Change\+File\+Ext@{Change\+File\+Ext}}
\index{Change\+File\+Ext@{Change\+File\+Ext}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Change\+File\+Ext(const Q\+String \&name, const Q\+String \&ext)}{ChangeFileExt(const QString &name, const QString &ext)}}]{\setlength{\rightskip}{0pt plus 5cm}Q\+String Ship\+C\+A\+D\+::\+Change\+File\+Ext (
\begin{DoxyParamCaption}
\item[{const Q\+String \&}]{name, }
\item[{const Q\+String \&}]{ext}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_ae416df4a72579eb3a1a418b19551eb53}{}\label{namespaceShipCAD_ae416df4a72579eb3a1a418b19551eb53}


Append or change the file extension to that given. 

The extension is the last . (dot) in the filename and all trailing characters. This function replaces these characters with the specified extension, or if there is no dot in the name, appends the extension


\begin{DoxyParams}{Parameters}
{\em name} & name of file \\
\hline
{\em ext} & extension to add to filename (including starting .) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the filename with extension 
\end{DoxyReturn}


Definition at line 569 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Clip\+Triangle@{Clip\+Triangle}}
\index{Clip\+Triangle@{Clip\+Triangle}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Clip\+Triangle(const Q\+Vector3\+D \&p1, const Q\+Vector3\+D \&p2, const Q\+Vector3\+D \&p3, float s1, float s2, float s3, std\+::vector$<$ Q\+Vector3\+D $>$ \&front, std\+::vector$<$ Q\+Vector3\+D $>$ \&back)}{ClipTriangle(const QVector3D &p1, const QVector3D &p2, const QVector3D &p3, float s1, float s2, float s3, std::vector< QVector3D > &front, std::vector< QVector3D > &back)}}]{\setlength{\rightskip}{0pt plus 5cm}void Ship\+C\+A\+D\+::\+Clip\+Triangle (
\begin{DoxyParamCaption}
\item[{const Q\+Vector3D \&}]{p1, }
\item[{const Q\+Vector3D \&}]{p2, }
\item[{const Q\+Vector3D \&}]{p3, }
\item[{float}]{s1, }
\item[{float}]{s2, }
\item[{float}]{s3, }
\item[{std\+::vector$<$ Q\+Vector3D $>$ \&}]{front, }
\item[{std\+::vector$<$ Q\+Vector3D $>$ \&}]{back}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_a36b9b33181823761bc327d66c36c8d8f}{}\label{namespaceShipCAD_a36b9b33181823761bc327d66c36c8d8f}


clip a triangle given vertex point distances from a plane 

3 points each with a distance to a plane are converted into 2 lists of points that are in front of the plane, or those in back of the plane. If the plane cuts through the triangle, then an intersection point on each side of the plane is added to the lists


\begin{DoxyParams}{Parameters}
{\em p1} & first vertex point \\
\hline
{\em p2} & second vertex point \\
\hline
{\em p3} & third vertex point \\
\hline
{\em s1} & first vertex point distance to plane \\
\hline
{\em s2} & second vertex point distance to plane \\
\hline
{\em s3} & third vertex point distance to plane \\
\hline
{\em front} & result list of points in front of plane \\
\hline
{\em back} & result list of points in back of plane \\
\hline
\end{DoxyParams}


Definition at line 280 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Clip\+Triangle@{Clip\+Triangle}}
\index{Clip\+Triangle@{Clip\+Triangle}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Clip\+Triangle(const Q\+Vector3\+D \&p1, const Q\+Vector3\+D \&p2, const Q\+Vector3\+D \&p3, const Plane \&plane, std\+::vector$<$ Q\+Vector3\+D $>$ \&front, std\+::vector$<$ Q\+Vector3\+D $>$ \&back)}{ClipTriangle(const QVector3D &p1, const QVector3D &p2, const QVector3D &p3, const Plane &plane, std::vector< QVector3D > &front, std::vector< QVector3D > &back)}}]{\setlength{\rightskip}{0pt plus 5cm}void Ship\+C\+A\+D\+::\+Clip\+Triangle (
\begin{DoxyParamCaption}
\item[{const Q\+Vector3D \&}]{p1, }
\item[{const Q\+Vector3D \&}]{p2, }
\item[{const Q\+Vector3D \&}]{p3, }
\item[{const {\bf Plane} \&}]{plane, }
\item[{std\+::vector$<$ Q\+Vector3D $>$ \&}]{front, }
\item[{std\+::vector$<$ Q\+Vector3D $>$ \&}]{back}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_a41e6294f71b66bca070c744accbb3ef2}{}\label{namespaceShipCAD_a41e6294f71b66bca070c744accbb3ef2}


clip a triangle given a plane 

3 points and a plane are converted into 2 lists of points that are in front of the plane, or those in back of the plane. If the plane cuts through the triangle, then an intersection point on each side of the plane is added to the lists


\begin{DoxyParams}{Parameters}
{\em p1} & first vertex point \\
\hline
{\em p2} & second vertex point \\
\hline
{\em p3} & third vertex point \\
\hline
{\em plane} & the plane to check against \\
\hline
{\em front} & result list of points in front of plane \\
\hline
{\em back} & result list of points in back of plane \\
\hline
\end{DoxyParams}


Definition at line 350 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Convert\+Dimension@{Convert\+Dimension}}
\index{Convert\+Dimension@{Convert\+Dimension}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Convert\+Dimension(float value, unit\+\_\+type\+\_\+t units)}{ConvertDimension(float value, unit_type_t units)}}]{\setlength{\rightskip}{0pt plus 5cm}Q\+String Ship\+C\+A\+D\+::\+Convert\+Dimension (
\begin{DoxyParamCaption}
\item[{float}]{value, }
\item[{{\bf unit\+\_\+type\+\_\+t}}]{units}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_ac24d97adcdf1709fc8e857f5d07395ff}{}\label{namespaceShipCAD_ac24d97adcdf1709fc8e857f5d07395ff}


create a string holding a dimension based on project units 


\begin{DoxyParams}{Parameters}
{\em value} & the value to convert \\
\hline
{\em units} & the current project units \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a formatted string 
\end{DoxyReturn}


Definition at line 664 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Create\+From\+J\+P\+EG@{Create\+From\+J\+P\+EG}}
\index{Create\+From\+J\+P\+EG@{Create\+From\+J\+P\+EG}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Create\+From\+J\+P\+E\+G(const Ship\+C\+A\+D\+::\+J\+P\+E\+G\+Image $\ast$image)}{CreateFromJPEG(const ShipCAD::JPEGImage *image)}}]{\setlength{\rightskip}{0pt plus 5cm}Q\+Image Ship\+C\+A\+D\+::\+Create\+From\+J\+P\+EG (
\begin{DoxyParamCaption}
\item[{const {\bf Ship\+C\+A\+D\+::\+J\+P\+E\+G\+Image} $\ast$}]{image}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_a31499c415c63299daeef4a846909daae}{}\label{namespaceShipCAD_a31499c415c63299daeef4a846909daae}


create a Q\+Image from \hyperlink{structShipCAD_1_1JPEGImage}{J\+P\+E\+G\+Image} struct loaded from \hyperlink{namespaceShipCAD}{Ship\+C\+AD} binary 



Definition at line 85 of file shipcadlib.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Deg\+To\+Rad@{Deg\+To\+Rad}}
\index{Deg\+To\+Rad@{Deg\+To\+Rad}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Deg\+To\+Rad(float deg)}{DegToRad(float deg)}}]{\setlength{\rightskip}{0pt plus 5cm}float Ship\+C\+A\+D\+::\+Deg\+To\+Rad (
\begin{DoxyParamCaption}
\item[{float}]{deg}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_ac344c080c66b4394cb988cf88c726029}{}\label{namespaceShipCAD_ac344c080c66b4394cb988cf88c726029}


convert degrees to radians 


\begin{DoxyParams}{Parameters}
{\em deg} & degree value to convert \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
value in radians 
\end{DoxyReturn}


Definition at line 243 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Density\+Str@{Density\+Str}}
\index{Density\+Str@{Density\+Str}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Density\+Str(unit\+\_\+type\+\_\+t units)}{DensityStr(unit_type_t units)}}]{\setlength{\rightskip}{0pt plus 5cm}Q\+String Ship\+C\+A\+D\+::\+Density\+Str (
\begin{DoxyParamCaption}
\item[{{\bf unit\+\_\+type\+\_\+t}}]{units}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_af977e4008c66d1a323d105f27622991b}{}\label{namespaceShipCAD_af977e4008c66d1a323d105f27622991b}


Definition at line 71 of file shipcadlib.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Distancepoint\+To\+Line@{Distancepoint\+To\+Line}}
\index{Distancepoint\+To\+Line@{Distancepoint\+To\+Line}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Distancepoint\+To\+Line(const Q\+Vector3\+D \&p, const Q\+Vector3\+D \&l1, const Q\+Vector3\+D \&l2)}{DistancepointToLine(const QVector3D &p, const QVector3D &l1, const QVector3D &l2)}}]{\setlength{\rightskip}{0pt plus 5cm}float Ship\+C\+A\+D\+::\+Distancepoint\+To\+Line (
\begin{DoxyParamCaption}
\item[{const Q\+Vector3D \&}]{p, }
\item[{const Q\+Vector3D \&}]{l1, }
\item[{const Q\+Vector3D \&}]{l2}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_a69361fa79b1f818e21306f6266ee45d3}{}\label{namespaceShipCAD_a69361fa79b1f818e21306f6266ee45d3}


find the distance from a point to the line 


\begin{DoxyParams}{Parameters}
{\em p} & the point \\
\hline
{\em l1} & the first point on the line \\
\hline
{\em l2} & a second point on the line \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the nearest distance from the point to the line 
\end{DoxyReturn}


Definition at line 50 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Dist\+P\+P3D@{Dist\+P\+P3D}}
\index{Dist\+P\+P3D@{Dist\+P\+P3D}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Dist\+P\+P3\+D(const Q\+Vector3\+D \&p1, const Q\+Vector3\+D \&p2)}{DistPP3D(const QVector3D &p1, const QVector3D &p2)}}]{\setlength{\rightskip}{0pt plus 5cm}float Ship\+C\+A\+D\+::\+Dist\+P\+P3D (
\begin{DoxyParamCaption}
\item[{const Q\+Vector3D \&}]{p1, }
\item[{const Q\+Vector3D \&}]{p2}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_a438e97b711c6878eba3bf7182e68a3c7}{}\label{namespaceShipCAD_a438e97b711c6878eba3bf7182e68a3c7}


distance between 2 3D points 


\begin{DoxyParams}{Parameters}
{\em p1} & first point \\
\hline
{\em p2} & second point \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
distance between points 
\end{DoxyReturn}


Definition at line 369 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Fill\+Color@{Fill\+Color}}
\index{Fill\+Color@{Fill\+Color}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Fill\+Color(float parameter)}{FillColor(float parameter)}}]{\setlength{\rightskip}{0pt plus 5cm}Q\+Color Ship\+C\+A\+D\+::\+Fill\+Color (
\begin{DoxyParamCaption}
\item[{float}]{parameter}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_acb142056788b7a6e18e908c5b2fd8d52}{}\label{namespaceShipCAD_acb142056788b7a6e18e908c5b2fd8d52}


calculate color on basis of wavelength (0.\+0 -\/ 1.\+0) 


\begin{DoxyParams}{Parameters}
{\em parameter} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the color 
\end{DoxyReturn}


Definition at line 160 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Find\+D\+X\+F\+Color\+Index@{Find\+D\+X\+F\+Color\+Index}}
\index{Find\+D\+X\+F\+Color\+Index@{Find\+D\+X\+F\+Color\+Index}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Find\+D\+X\+F\+Color\+Index(\+Q\+Color color)}{FindDXFColorIndex(QColor color)}}]{\setlength{\rightskip}{0pt plus 5cm}int Ship\+C\+A\+D\+::\+Find\+D\+X\+F\+Color\+Index (
\begin{DoxyParamCaption}
\item[{Q\+Color}]{color}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_a87efc267ae07a84fb1cd55a4562c2907}{}\label{namespaceShipCAD_a87efc267ae07a84fb1cd55a4562c2907}


convert a Q\+Color to a D\+XF color index 


\begin{DoxyParams}{Parameters}
{\em color} & the color to convert \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the D\+XF index of the color 
\end{DoxyReturn}


Definition at line 133 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Find\+Water\+Viscosity@{Find\+Water\+Viscosity}}
\index{Find\+Water\+Viscosity@{Find\+Water\+Viscosity}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Find\+Water\+Viscosity(float density, unit\+\_\+type\+\_\+t units)}{FindWaterViscosity(float density, unit_type_t units)}}]{\setlength{\rightskip}{0pt plus 5cm}float Ship\+C\+A\+D\+::\+Find\+Water\+Viscosity (
\begin{DoxyParamCaption}
\item[{float}]{density, }
\item[{{\bf unit\+\_\+type\+\_\+t}}]{units}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_a44025ef38e6ee9f12cbf032660f637b5}{}\label{namespaceShipCAD_a44025ef38e6ee9f12cbf032660f637b5}


find water viscosity based on density 


\begin{DoxyParams}{Parameters}
{\em density} & the water density \\
\hline
{\em units} & (imperial or metric) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the water viscosity 
\end{DoxyReturn}


Definition at line 555 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Fuzzy\+Compare@{Fuzzy\+Compare}}
\index{Fuzzy\+Compare@{Fuzzy\+Compare}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Fuzzy\+Compare(float val1, float val2, float error)}{FuzzyCompare(float val1, float val2, float error)}}]{\setlength{\rightskip}{0pt plus 5cm}bool Ship\+C\+A\+D\+::\+Fuzzy\+Compare (
\begin{DoxyParamCaption}
\item[{float}]{val1, }
\item[{float}]{val2, }
\item[{float}]{error}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_ae1b7d6603b6c5a2969befdbd629f2e8b}{}\label{namespaceShipCAD_ae1b7d6603b6c5a2969befdbd629f2e8b}


compare 2 floats, if they are sufficiently close, return true 


\begin{DoxyParams}{Parameters}
{\em val1} & first value to compare \\
\hline
{\em val2} & second value to compare \\
\hline
{\em error} & if absolute difference between the 2 values is less than this, then equal \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if values are sufficiently equal 
\end{DoxyReturn}


Definition at line 616 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Inertia\+Str@{Inertia\+Str}}
\index{Inertia\+Str@{Inertia\+Str}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Inertia\+Str(unit\+\_\+type\+\_\+t units)}{InertiaStr(unit_type_t units)}}]{\setlength{\rightskip}{0pt plus 5cm}Q\+String Ship\+C\+A\+D\+::\+Inertia\+Str (
\begin{DoxyParamCaption}
\item[{{\bf unit\+\_\+type\+\_\+t}}]{units}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_a01d1e42109b5645919c004f6d7a30b68}{}\label{namespaceShipCAD_a01d1e42109b5645919c004f6d7a30b68}


Definition at line 57 of file shipcadlib.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Interpolate@{Interpolate}}
\index{Interpolate@{Interpolate}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Interpolate(const Q\+Vector3\+D \&p1, const Q\+Vector3\+D \&p2, float param)}{Interpolate(const QVector3D &p1, const QVector3D &p2, float param)}}]{\setlength{\rightskip}{0pt plus 5cm}Q\+Vector3D Ship\+C\+A\+D\+::\+Interpolate (
\begin{DoxyParamCaption}
\item[{const Q\+Vector3D \&}]{p1, }
\item[{const Q\+Vector3D \&}]{p2, }
\item[{float}]{param}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_a83f7c2b40959a0d02a2cc1085b0d07ee}{}\label{namespaceShipCAD_a83f7c2b40959a0d02a2cc1085b0d07ee}


linearly interpolate a point between 2 points 


\begin{DoxyParams}{Parameters}
{\em p1} & first point \\
\hline
{\em p2} & second point \\
\hline
{\em the} & ratio of the returned point along p1-\/$>$p2 from p1 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the interpolated point 
\end{DoxyReturn}


Definition at line 57 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Join\+Spline\+Segments@{Join\+Spline\+Segments}}
\index{Join\+Spline\+Segments@{Join\+Spline\+Segments}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Join\+Spline\+Segments(float join\+\_\+error, bool force\+\_\+to\+\_\+one\+\_\+segment, Spline\+Vector \&list)}{JoinSplineSegments(float join_error, bool force_to_one_segment, SplineVector &list)}}]{\setlength{\rightskip}{0pt plus 5cm}void Ship\+C\+A\+D\+::\+Join\+Spline\+Segments (
\begin{DoxyParamCaption}
\item[{float}]{join\+\_\+error, }
\item[{bool}]{force\+\_\+to\+\_\+one\+\_\+segment, }
\item[{{\bf Spline\+Vector} \&}]{list}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_a2eddf75f0e29363ab81a3fb0e0211848}{}\label{namespaceShipCAD_a2eddf75f0e29363ab81a3fb0e0211848}


join a set of linesegments and connect them into as few as possible splines 


\begin{DoxyParams}{Parameters}
{\em join\+\_\+error} & points closer than this are joined together \\
\hline
{\em force\+\_\+to\+\_\+one\+\_\+segment} & true if splines should be joined even if end points are farther apart then join\+\_\+error \\
\hline
{\em list} & of splines to join together \\
\hline
\end{DoxyParams}


Definition at line 428 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Length\+Str@{Length\+Str}}
\index{Length\+Str@{Length\+Str}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Length\+Str(unit\+\_\+type\+\_\+t units)}{LengthStr(unit_type_t units)}}]{\setlength{\rightskip}{0pt plus 5cm}Q\+String Ship\+C\+A\+D\+::\+Length\+Str (
\begin{DoxyParamCaption}
\item[{{\bf unit\+\_\+type\+\_\+t}}]{units}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_aef3e2265fc686fbe6b50b081dcc4e6ff}{}\label{namespaceShipCAD_aef3e2265fc686fbe6b50b081dcc4e6ff}


Definition at line 50 of file shipcadlib.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Lines3\+D\+Intersect@{Lines3\+D\+Intersect}}
\index{Lines3\+D\+Intersect@{Lines3\+D\+Intersect}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Lines3\+D\+Intersect(const Q\+Vector3\+D \&p1, const Q\+Vector3\+D \&p2, const Q\+Vector3\+D \&p3, const Q\+Vector3\+D \&p4, double \&param, Q\+Vector3\+D \&int1)}{Lines3DIntersect(const QVector3D &p1, const QVector3D &p2, const QVector3D &p3, const QVector3D &p4, double &param, QVector3D &int1)}}]{\setlength{\rightskip}{0pt plus 5cm}bool Ship\+C\+A\+D\+::\+Lines3\+D\+Intersect (
\begin{DoxyParamCaption}
\item[{const Q\+Vector3D \&}]{p1, }
\item[{const Q\+Vector3D \&}]{p2, }
\item[{const Q\+Vector3D \&}]{p3, }
\item[{const Q\+Vector3D \&}]{p4, }
\item[{double \&}]{param, }
\item[{Q\+Vector3D \&}]{int1}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_aec056383a39d900bd079feee8bcca060}{}\label{namespaceShipCAD_aec056383a39d900bd079feee8bcca060}


Calculate the line segment Pa\+Pb that is the shortest route between two lines P1\+P2 and P3\+P4. Calculate also the values of mua and mub where Pa = P1 + mua (P2 -\/ P1) Pb = P3 + mub (P4 -\/ P3) 

\begin{DoxyReturn}{Returns}
F\+A\+L\+SE if no solution exists. 
\end{DoxyReturn}


Definition at line 375 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Make\+Length@{Make\+Length}}
\index{Make\+Length@{Make\+Length}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Make\+Length(float value, int decimals, int des\+\_\+length)}{MakeLength(float value, int decimals, int des_length)}}]{\setlength{\rightskip}{0pt plus 5cm}Q\+String Ship\+C\+A\+D\+::\+Make\+Length (
\begin{DoxyParamCaption}
\item[{float}]{value, }
\item[{int}]{decimals, }
\item[{int}]{des\+\_\+length}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_ae378a523725f5718c9f2b55103f08dcb}{}\label{namespaceShipCAD_ae378a523725f5718c9f2b55103f08dcb}


Create a formatted string from a float value. 


\begin{DoxyParams}{Parameters}
{\em value} & the floating point value \\
\hline
{\em decimals} & \\
\hline
{\em des\+\_\+length} & the finished length of the string, add leading spaces to fill out \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the fixed length string 
\end{DoxyReturn}


Definition at line 603 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Make\+Length@{Make\+Length}}
\index{Make\+Length@{Make\+Length}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Make\+Length(const Q\+String \&value, int des\+\_\+length)}{MakeLength(const QString &value, int des_length)}}]{\setlength{\rightskip}{0pt plus 5cm}Q\+String Ship\+C\+A\+D\+::\+Make\+Length (
\begin{DoxyParamCaption}
\item[{const Q\+String \&}]{value, }
\item[{int}]{des\+\_\+length}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_ab520595d533b1626c8be82c0efd24e6d}{}\label{namespaceShipCAD_ab520595d533b1626c8be82c0efd24e6d}


Create a string of a given length. 


\begin{DoxyParams}{Parameters}
{\em value} & the string to start with \\
\hline
{\em des\+\_\+length} & the finished length of the string, add leading spaces to fill out \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the fixed length string 
\end{DoxyReturn}


Definition at line 611 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Mid\+Point@{Mid\+Point}}
\index{Mid\+Point@{Mid\+Point}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Mid\+Point(const Q\+Vector3\+D \&p1, const Q\+Vector3\+D \&p2)}{MidPoint(const QVector3D &p1, const QVector3D &p2)}}]{\setlength{\rightskip}{0pt plus 5cm}Q\+Vector3D Ship\+C\+A\+D\+::\+Mid\+Point (
\begin{DoxyParamCaption}
\item[{const Q\+Vector3D \&}]{p1, }
\item[{const Q\+Vector3D \&}]{p2}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_ad1ad66c896fe763fb4603989ff1f1182}{}\label{namespaceShipCAD_ad1ad66c896fe763fb4603989ff1f1182}


get the midpoint between 2 points (interpolate 50\%) 


\begin{DoxyParams}{Parameters}
{\em p1} & the first point \\
\hline
{\em p2} & the second point \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
point halfway between p1 and p2 
\end{DoxyReturn}


Definition at line 63 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Min\+Max@{Min\+Max}}
\index{Min\+Max@{Min\+Max}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Min\+Max(const Q\+Vector3\+D \&p, Q\+Vector3\+D \&min, Q\+Vector3\+D \&max)}{MinMax(const QVector3D &p, QVector3D &min, QVector3D &max)}}]{\setlength{\rightskip}{0pt plus 5cm}void Ship\+C\+A\+D\+::\+Min\+Max (
\begin{DoxyParamCaption}
\item[{const Q\+Vector3D \&}]{p, }
\item[{Q\+Vector3D \&}]{min, }
\item[{Q\+Vector3D \&}]{max}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_aa5d3fc63603d716d3e24244049e1e510}{}\label{namespaceShipCAD_aa5d3fc63603d716d3e24244049e1e510}


find the min and max coordinates from a point 

given a point, see if that point coordinates are smaller or larger in each axis compared to the min and max parameters


\begin{DoxyParams}{Parameters}
{\em p} & the point to check for new min/max \\
\hline
{\em min} & the current minimum vector \\
\hline
{\em max} & the current maximum vector \\
\hline
\end{DoxyParams}


Definition at line 40 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Point\+In\+Triangle@{Point\+In\+Triangle}}
\index{Point\+In\+Triangle@{Point\+In\+Triangle}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Point\+In\+Triangle(const Q\+Vector3\+D \&intercept, const Q\+Vector3\+D \&p0, const Q\+Vector3\+D \&p1, const Q\+Vector3\+D \&p2)}{PointInTriangle(const QVector3D &intercept, const QVector3D &p0, const QVector3D &p1, const QVector3D &p2)}}]{\setlength{\rightskip}{0pt plus 5cm}bool Ship\+C\+A\+D\+::\+Point\+In\+Triangle (
\begin{DoxyParamCaption}
\item[{const Q\+Vector3D \&}]{intercept, }
\item[{const Q\+Vector3D \&}]{p0, }
\item[{const Q\+Vector3D \&}]{p1, }
\item[{const Q\+Vector3D \&}]{p2}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_ae1773f0e415446342401a67430a8b643}{}\label{namespaceShipCAD_ae1773f0e415446342401a67430a8b643}


find if point lies inside a triangle and on the plane of the triangle 


\begin{DoxyParams}{Parameters}
{\em intercept} & the point to check \\
\hline
{\em p0} & first vertex point on plane \\
\hline
{\em p1} & second vertex point on plane \\
\hline
{\em p2} & third vertex point on plane \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if intercept is on triangular face 
\end{DoxyReturn}


Definition at line 269 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Point\+Project\+To\+Line@{Point\+Project\+To\+Line}}
\index{Point\+Project\+To\+Line@{Point\+Project\+To\+Line}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Point\+Project\+To\+Line(const Q\+Vector3\+D \&p1, const Q\+Vector3\+D \&p2, const Q\+Vector3\+D \&p)}{PointProjectToLine(const QVector3D &p1, const QVector3D &p2, const QVector3D &p)}}]{\setlength{\rightskip}{0pt plus 5cm}Q\+Vector3D Ship\+C\+A\+D\+::\+Point\+Project\+To\+Line (
\begin{DoxyParamCaption}
\item[{const Q\+Vector3D \&}]{p1, }
\item[{const Q\+Vector3D \&}]{p2, }
\item[{const Q\+Vector3D \&}]{p}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_a30b09a2ad6cc05c2ce1cdc450a0857d1}{}\label{namespaceShipCAD_a30b09a2ad6cc05c2ce1cdc450a0857d1}


project a point to a line 


\begin{DoxyParams}{Parameters}
{\em p1} & the first point on line \\
\hline
{\em p2} & the second point on line \\
\hline
{\em p} & the point to project \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
point projected onto line 
\end{DoxyReturn}


Definition at line 68 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Q\+Color\+From\+D\+X\+F\+Index@{Q\+Color\+From\+D\+X\+F\+Index}}
\index{Q\+Color\+From\+D\+X\+F\+Index@{Q\+Color\+From\+D\+X\+F\+Index}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Q\+Color\+From\+D\+X\+F\+Index(int index)}{QColorFromDXFIndex(int index)}}]{\setlength{\rightskip}{0pt plus 5cm}Q\+Color Ship\+C\+A\+D\+::\+Q\+Color\+From\+D\+X\+F\+Index (
\begin{DoxyParamCaption}
\item[{int}]{index}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_a9956eca83968462fc4c48c376a10d577}{}\label{namespaceShipCAD_a9956eca83968462fc4c48c376a10d577}


get a Q\+Color from a D\+XF color index 


\begin{DoxyParams}{Parameters}
{\em index} & the D\+XF index (0-\/255) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the Q\+Color corresponding to the D\+XF color index 
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em std\+::range\+\_\+error} & if index is not a D\+XF color index \\
\hline
\end{DoxyExceptions}


Definition at line 153 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Rad\+To\+Deg@{Rad\+To\+Deg}}
\index{Rad\+To\+Deg@{Rad\+To\+Deg}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Rad\+To\+Deg(float rad)}{RadToDeg(float rad)}}]{\setlength{\rightskip}{0pt plus 5cm}float Ship\+C\+A\+D\+::\+Rad\+To\+Deg (
\begin{DoxyParamCaption}
\item[{float}]{rad}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_a3ad1916db38fb61e8a053f944df49cee}{}\label{namespaceShipCAD_a3ad1916db38fb61e8a053f944df49cee}


convert radians to degrees 


\begin{DoxyParams}{Parameters}
{\em rad} & radian value to convert \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
value in degrees 
\end{DoxyReturn}


Definition at line 248 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Random\+Color@{Random\+Color}}
\index{Random\+Color@{Random\+Color}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Random\+Color()}{RandomColor()}}]{\setlength{\rightskip}{0pt plus 5cm}Q\+Color Ship\+C\+A\+D\+::\+Random\+Color (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_a6bc9d2025502c6f4052b89c82c72762c}{}\label{namespaceShipCAD_a6bc9d2025502c6f4052b89c82c72762c}


get a random color 

\begin{DoxyReturn}{Returns}
a random color 
\end{DoxyReturn}


Definition at line 637 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Read\+Bool\+From\+Str@{Read\+Bool\+From\+Str}}
\index{Read\+Bool\+From\+Str@{Read\+Bool\+From\+Str}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Read\+Bool\+From\+Str(size\+\_\+t lineno, const Q\+String \&str, size\+\_\+t \&start)}{ReadBoolFromStr(size_t lineno, const QString &str, size_t &start)}}]{\setlength{\rightskip}{0pt plus 5cm}bool Ship\+C\+A\+D\+::\+Read\+Bool\+From\+Str (
\begin{DoxyParamCaption}
\item[{size\+\_\+t}]{lineno, }
\item[{const Q\+String \&}]{str, }
\item[{size\+\_\+t \&}]{start}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_af343b5a2dfd09b32b9451d35e0676384}{}\label{namespaceShipCAD_af343b5a2dfd09b32b9451d35e0676384}


convert a string to an boolean value 


\begin{DoxyParams}{Parameters}
{\em lineno} & indicates which line of the file we are on for errors \\
\hline
{\em str} & Q\+String to extract boolean \\
\hline
{\em start} & where to start extracting boolean \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
boolean value extracted from string, start will be incremented to after integer 
\end{DoxyReturn}


Definition at line 518 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Read\+Float\+From\+Str@{Read\+Float\+From\+Str}}
\index{Read\+Float\+From\+Str@{Read\+Float\+From\+Str}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Read\+Float\+From\+Str(size\+\_\+t lineno, const Q\+String \&str, size\+\_\+t \&start)}{ReadFloatFromStr(size_t lineno, const QString &str, size_t &start)}}]{\setlength{\rightskip}{0pt plus 5cm}float Ship\+C\+A\+D\+::\+Read\+Float\+From\+Str (
\begin{DoxyParamCaption}
\item[{size\+\_\+t}]{lineno, }
\item[{const Q\+String \&}]{str, }
\item[{size\+\_\+t \&}]{start}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_a696bc38864a736dda734802f3cda4346}{}\label{namespaceShipCAD_a696bc38864a736dda734802f3cda4346}


convert a string to an float value 


\begin{DoxyParams}{Parameters}
{\em lineno} & indicates which line of the file we are on for errors \\
\hline
{\em str} & Q\+String to extract float \\
\hline
{\em start} & where to start extracting float \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
float value extracted from string, start will be incremented to after float 
\end{DoxyReturn}


Definition at line 534 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Read\+Int\+From\+Str@{Read\+Int\+From\+Str}}
\index{Read\+Int\+From\+Str@{Read\+Int\+From\+Str}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Read\+Int\+From\+Str(size\+\_\+t lineno, const Q\+String \&str, size\+\_\+t \&start)}{ReadIntFromStr(size_t lineno, const QString &str, size_t &start)}}]{\setlength{\rightskip}{0pt plus 5cm}int Ship\+C\+A\+D\+::\+Read\+Int\+From\+Str (
\begin{DoxyParamCaption}
\item[{size\+\_\+t}]{lineno, }
\item[{const Q\+String \&}]{str, }
\item[{size\+\_\+t \&}]{start}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_a70b238d926183460670b82d9680b5cb9}{}\label{namespaceShipCAD_a70b238d926183460670b82d9680b5cb9}


convert a string to an integer value 


\begin{DoxyParams}{Parameters}
{\em lineno} & indicates which line of the file we are on for errors \\
\hline
{\em str} & Q\+String to extract integer \\
\hline
{\em start} & where to start extracting integer \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
integer value extracted from string, start will be incremented to after integer 
\end{DoxyReturn}


Definition at line 497 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Rotate\+Vector@{Rotate\+Vector}}
\index{Rotate\+Vector@{Rotate\+Vector}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Rotate\+Vector(const Q\+Vector3\+D \&coord, double sinx, double cosx, double siny, double cosy, double sinz, double cosz)}{RotateVector(const QVector3D &coord, double sinx, double cosx, double siny, double cosy, double sinz, double cosz)}}]{\setlength{\rightskip}{0pt plus 5cm}Q\+Vector3D Ship\+C\+A\+D\+::\+Rotate\+Vector (
\begin{DoxyParamCaption}
\item[{const Q\+Vector3D \&}]{coord, }
\item[{double}]{sinx, }
\item[{double}]{cosx, }
\item[{double}]{siny, }
\item[{double}]{cosy, }
\item[{double}]{sinz, }
\item[{double}]{cosz}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_af88f847dc1803cadbeb655783961dbfd}{}\label{namespaceShipCAD_af88f847dc1803cadbeb655783961dbfd}


rotate a vector 


\begin{DoxyParams}{Parameters}
{\em coord} & input vector \\
\hline
{\em sinx} & the sin of the x value of rotation vector \\
\hline
{\em cosx} & the cos of the x value of rotation vector \\
\hline
{\em sinx} & the sin of the x value of rotation vector \\
\hline
{\em cosx} & the cos of the x value of rotation vector \\
\hline
{\em sinx} & the sin of the x value of rotation vector \\
\hline
{\em cosx} & the cos of the x value of rotation vector \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the coordinate of the rotated vector 
\end{DoxyReturn}


Definition at line 645 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Sign@{Sign}}
\index{Sign@{Sign}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Sign(double val)}{Sign(double val)}}]{\setlength{\rightskip}{0pt plus 5cm}double Ship\+C\+A\+D\+::\+Sign (
\begin{DoxyParamCaption}
\item[{double}]{val}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_ad4bf48489d173fd29503cd9b511f52e9}{}\label{namespaceShipCAD_ad4bf48489d173fd29503cd9b511f52e9}


get the sign of a floating point number 


\begin{DoxyParams}{Parameters}
{\em val} & value to compute sign of \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
-\/1, 0, 1 
\end{DoxyReturn}


Definition at line 621 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Squared\+Dist\+PP@{Squared\+Dist\+PP}}
\index{Squared\+Dist\+PP@{Squared\+Dist\+PP}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Squared\+Dist\+P\+P(const Q\+Vector3\+D \&p1, const Q\+Vector3\+D \&p2)}{SquaredDistPP(const QVector3D &p1, const QVector3D &p2)}}]{\setlength{\rightskip}{0pt plus 5cm}float Ship\+C\+A\+D\+::\+Squared\+Dist\+PP (
\begin{DoxyParamCaption}
\item[{const Q\+Vector3D \&}]{p1, }
\item[{const Q\+Vector3D \&}]{p2}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_a6f9f5ac15e7e2821bba27ba06827a4e1}{}\label{namespaceShipCAD_a6f9f5ac15e7e2821bba27ba06827a4e1}


squared distance between 2 3D points 


\begin{DoxyParams}{Parameters}
{\em p1} & first point \\
\hline
{\em p2} & second point \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
square of distance between points 
\end{DoxyReturn}


Definition at line 363 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!to\+\_\+size\+\_\+t@{to\+\_\+size\+\_\+t}}
\index{to\+\_\+size\+\_\+t@{to\+\_\+size\+\_\+t}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{to\+\_\+size\+\_\+t(int val)}{to_size_t(int val)}}]{\setlength{\rightskip}{0pt plus 5cm}size\+\_\+t Ship\+C\+A\+D\+::to\+\_\+size\+\_\+t (
\begin{DoxyParamCaption}
\item[{int}]{val}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_a26237f4689cbf7e356c7c1ce3f9c69ff}{}\label{namespaceShipCAD_a26237f4689cbf7e356c7c1ce3f9c69ff}


convert an int to a size\+\_\+t 


\begin{DoxyItemize}
\item 
\begin{DoxyParams}{Parameters}
{\em val} & the integer\\
\hline
\end{DoxyParams}

\item \begin{DoxyReturn}{Returns}
corresponding size\+\_\+t 
\end{DoxyReturn}

\end{DoxyItemize}

Definition at line 630 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Truncate@{Truncate}}
\index{Truncate@{Truncate}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Truncate(float val, int max\+\_\+length)}{Truncate(float val, int max_length)}}]{\setlength{\rightskip}{0pt plus 5cm}Q\+String Ship\+C\+A\+D\+::\+Truncate (
\begin{DoxyParamCaption}
\item[{float}]{val, }
\item[{int}]{max\+\_\+length}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_a646812cc2b9066dfc47f2ed7e1faa955}{}\label{namespaceShipCAD_a646812cc2b9066dfc47f2ed7e1faa955}


convert a float value to a string with max number of decimals 


\begin{DoxyParams}{Parameters}
{\em val} & the floating point value \\
\hline
{\em max\+\_\+length} & the maximum number of decimals to show in the string \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the string with the converted floating point number 
\end{DoxyReturn}


Definition at line 224 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Unified\+Normal@{Unified\+Normal}}
\index{Unified\+Normal@{Unified\+Normal}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Unified\+Normal(const Q\+Vector3\+D \&p1, const Q\+Vector3\+D \&p2, const Q\+Vector3\+D \&p3)}{UnifiedNormal(const QVector3D &p1, const QVector3D &p2, const QVector3D &p3)}}]{\setlength{\rightskip}{0pt plus 5cm}Q\+Vector3D Ship\+C\+A\+D\+::\+Unified\+Normal (
\begin{DoxyParamCaption}
\item[{const Q\+Vector3D \&}]{p1, }
\item[{const Q\+Vector3D \&}]{p2, }
\item[{const Q\+Vector3D \&}]{p3}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_a81e47e31f89000550b007c0f9a4d09aa}{}\label{namespaceShipCAD_a81e47e31f89000550b007c0f9a4d09aa}


find the unit normal of a plane defined by 3 points 


\begin{DoxyParams}{Parameters}
{\em p1} & first point on plane \\
\hline
{\em p2} & second point on plane \\
\hline
{\em p3} & third point on plane \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
unit normal of plane 
\end{DoxyReturn}


Definition at line 233 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!version\+String@{version\+String}}
\index{version\+String@{version\+String}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{version\+String(version\+\_\+t v)}{versionString(version_t v)}}]{\setlength{\rightskip}{0pt plus 5cm}Q\+String Ship\+C\+A\+D\+::version\+String (
\begin{DoxyParamCaption}
\item[{{\bf version\+\_\+t}}]{v}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_a2901c6bb3e9ddd7efa9bdcc9095cc468}{}\label{namespaceShipCAD_a2901c6bb3e9ddd7efa9bdcc9095cc468}


Definition at line 39 of file version.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Vol\+Str@{Vol\+Str}}
\index{Vol\+Str@{Vol\+Str}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Vol\+Str(unit\+\_\+type\+\_\+t units)}{VolStr(unit_type_t units)}}]{\setlength{\rightskip}{0pt plus 5cm}Q\+String Ship\+C\+A\+D\+::\+Vol\+Str (
\begin{DoxyParamCaption}
\item[{{\bf unit\+\_\+type\+\_\+t}}]{units}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_a0758fd8275aafe6ad813d2a361281bf2}{}\label{namespaceShipCAD_a0758fd8275aafe6ad813d2a361281bf2}


Definition at line 64 of file shipcadlib.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Volume\+To\+Displacement@{Volume\+To\+Displacement}}
\index{Volume\+To\+Displacement@{Volume\+To\+Displacement}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Volume\+To\+Displacement(float volume, float density, float appcoeff, unit\+\_\+type\+\_\+t units)}{VolumeToDisplacement(float volume, float density, float appcoeff, unit_type_t units)}}]{\setlength{\rightskip}{0pt plus 5cm}float Ship\+C\+A\+D\+::\+Volume\+To\+Displacement (
\begin{DoxyParamCaption}
\item[{float}]{volume, }
\item[{float}]{density, }
\item[{float}]{appcoeff, }
\item[{{\bf unit\+\_\+type\+\_\+t}}]{units}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_ad3ca198e79658bf065f1c1c416f23670}{}\label{namespaceShipCAD_ad3ca198e79658bf065f1c1c416f23670}


convert volume to displacement given density, appendage coefficient and unit type 


\begin{DoxyParams}{Parameters}
{\em volume} & to convert \\
\hline
{\em density} & the density of water \\
\hline
{\em appcoeff} & the appendage coefficient \\
\hline
{\em units} & (imperial or metric) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
displacement 
\end{DoxyReturn}


Definition at line 581 of file utility.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!Weight\+Str@{Weight\+Str}}
\index{Weight\+Str@{Weight\+Str}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Weight\+Str(unit\+\_\+type\+\_\+t units)}{WeightStr(unit_type_t units)}}]{\setlength{\rightskip}{0pt plus 5cm}Q\+String Ship\+C\+A\+D\+::\+Weight\+Str (
\begin{DoxyParamCaption}
\item[{{\bf unit\+\_\+type\+\_\+t}}]{units}
\end{DoxyParamCaption}
)}\hypertarget{namespaceShipCAD_a62749df66958d1389c3cc6f6f03d42fb}{}\label{namespaceShipCAD_a62749df66958d1389c3cc6f6f03d42fb}


Definition at line 78 of file shipcadlib.\+cpp.



\subsection{Variable Documentation}
\index{Ship\+C\+AD@{Ship\+C\+AD}!File\+Buffer\+Block\+Size@{File\+Buffer\+Block\+Size}}
\index{File\+Buffer\+Block\+Size@{File\+Buffer\+Block\+Size}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{File\+Buffer\+Block\+Size}{FileBufferBlockSize}}]{\setlength{\rightskip}{0pt plus 5cm}const int Ship\+C\+A\+D\+::\+File\+Buffer\+Block\+Size = 4096}\hypertarget{namespaceShipCAD_afeba968c9abef53c8d1ff63855076dec}{}\label{namespaceShipCAD_afeba968c9abef53c8d1ff63855076dec}


Definition at line 52 of file shipcadlib.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!g\+\_\+edge\+\_\+verbose@{g\+\_\+edge\+\_\+verbose}}
\index{g\+\_\+edge\+\_\+verbose@{g\+\_\+edge\+\_\+verbose}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{g\+\_\+edge\+\_\+verbose}{g_edge_verbose}}]{\setlength{\rightskip}{0pt plus 5cm}bool Ship\+C\+A\+D\+::g\+\_\+edge\+\_\+verbose = true}\hypertarget{namespaceShipCAD_ad5a157bd082e37a863f05b7c54a1d7cc}{}\label{namespaceShipCAD_ad5a157bd082e37a863f05b7c54a1d7cc}


Definition at line 49 of file subdivedge.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!g\+\_\+point\+\_\+verbose@{g\+\_\+point\+\_\+verbose}}
\index{g\+\_\+point\+\_\+verbose@{g\+\_\+point\+\_\+verbose}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{g\+\_\+point\+\_\+verbose}{g_point_verbose}}]{\setlength{\rightskip}{0pt plus 5cm}bool Ship\+C\+A\+D\+::g\+\_\+point\+\_\+verbose = true}\hypertarget{namespaceShipCAD_ae059a88fbc18c56ceee2fd1cd7f2aad0}{}\label{namespaceShipCAD_ae059a88fbc18c56ceee2fd1cd7f2aad0}


Definition at line 51 of file subdivpoint.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!g\+\_\+surface\+\_\+verbose@{g\+\_\+surface\+\_\+verbose}}
\index{g\+\_\+surface\+\_\+verbose@{g\+\_\+surface\+\_\+verbose}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{g\+\_\+surface\+\_\+verbose}{g_surface_verbose}}]{\setlength{\rightskip}{0pt plus 5cm}bool Ship\+C\+A\+D\+::g\+\_\+surface\+\_\+verbose = true}\hypertarget{namespaceShipCAD_a45538d3cd2c9293bf0bd4b09a23670ac}{}\label{namespaceShipCAD_a45538d3cd2c9293bf0bd4b09a23670ac}


Definition at line 57 of file subdivsurface.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!k\+\_\+current\+\_\+version@{k\+\_\+current\+\_\+version}}
\index{k\+\_\+current\+\_\+version@{k\+\_\+current\+\_\+version}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{k\+\_\+current\+\_\+version}{k_current_version}}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf version\+\_\+t} Ship\+C\+A\+D\+::k\+\_\+current\+\_\+version = {\bf fv260}}\hypertarget{namespaceShipCAD_aa3415e1acf9bdb19e24f31f5138d6a60}{}\label{namespaceShipCAD_aa3415e1acf9bdb19e24f31f5138d6a60}


Definition at line 64 of file version.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!k\+\_\+released\+\_\+date@{k\+\_\+released\+\_\+date}}
\index{k\+\_\+released\+\_\+date@{k\+\_\+released\+\_\+date}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{k\+\_\+released\+\_\+date}{k_released_date}}]{\setlength{\rightskip}{0pt plus 5cm}const Q\+String Ship\+C\+A\+D\+::k\+\_\+released\+\_\+date = Q\+String(\char`\"{}April 21, 2006\char`\"{})}\hypertarget{namespaceShipCAD_a833fc6d39d2f0fd7fa31d0a691b0b726}{}\label{namespaceShipCAD_a833fc6d39d2f0fd7fa31d0a691b0b726}


Definition at line 66 of file version.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!k\+Decimals@{k\+Decimals}}
\index{k\+Decimals@{k\+Decimals}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{k\+Decimals}{kDecimals}}]{\setlength{\rightskip}{0pt plus 5cm}const int Ship\+C\+A\+D\+::k\+Decimals = 4}\hypertarget{namespaceShipCAD_ac88ffd27e117a3e612997a36a5d4616d}{}\label{namespaceShipCAD_ac88ffd27e117a3e612997a36a5d4616d}


Definition at line 48 of file shipcadlib.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!k\+File\+Extension@{k\+File\+Extension}}
\index{k\+File\+Extension@{k\+File\+Extension}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{k\+File\+Extension}{kFileExtension}}]{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ Ship\+C\+A\+D\+::k\+File\+Extension = \char`\"{}.fbm\char`\"{}}\hypertarget{namespaceShipCAD_a6461e4d91e555f0c732b53f8998b325d}{}\label{namespaceShipCAD_a6461e4d91e555f0c732b53f8998b325d}
default binary file extension 

Definition at line 35 of file shipcadlib.\+cpp.

\index{Ship\+C\+AD@{Ship\+C\+AD}!k\+Foot@{k\+Foot}}
\index{k\+Foot@{k\+Foot}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{k\+Foot}{kFoot}}]{\setlength{\rightskip}{0pt plus 5cm}const float Ship\+C\+A\+D\+::k\+Foot = 0.\+3048f}\hypertarget{namespaceShipCAD_a8c1484188fed1e735c5a94f64a6817ab}{}\label{namespaceShipCAD_a8c1484188fed1e735c5a94f64a6817ab}


Definition at line 44 of file shipcadlib.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!k\+Increment\+Size@{k\+Increment\+Size}}
\index{k\+Increment\+Size@{k\+Increment\+Size}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{k\+Increment\+Size}{kIncrementSize}}]{\setlength{\rightskip}{0pt plus 5cm}const int Ship\+C\+A\+D\+::k\+Increment\+Size = 25}\hypertarget{namespaceShipCAD_a1c0de7dc4306d7908bd8c6f7ff69ecdc}{}\label{namespaceShipCAD_a1c0de7dc4306d7908bd8c6f7ff69ecdc}


Definition at line 47 of file shipcadlib.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!k\+Lbs@{k\+Lbs}}
\index{k\+Lbs@{k\+Lbs}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{k\+Lbs}{kLbs}}]{\setlength{\rightskip}{0pt plus 5cm}const float Ship\+C\+A\+D\+::k\+Lbs = 0.\+4535924f}\hypertarget{namespaceShipCAD_ad6937518d9742e268b279000d1e7a509}{}\label{namespaceShipCAD_ad6937518d9742e268b279000d1e7a509}


Definition at line 45 of file shipcadlib.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!k\+Pixel\+Count\+Max@{k\+Pixel\+Count\+Max}}
\index{k\+Pixel\+Count\+Max@{k\+Pixel\+Count\+Max}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{k\+Pixel\+Count\+Max}{kPixelCountMax}}]{\setlength{\rightskip}{0pt plus 5cm}const int Ship\+C\+A\+D\+::k\+Pixel\+Count\+Max = 32768}\hypertarget{namespaceShipCAD_ac8176e9d12f859826fb131b7febb8c8a}{}\label{namespaceShipCAD_ac8176e9d12f859826fb131b7febb8c8a}


Definition at line 49 of file shipcadlib.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!k\+Weight\+Conversion\+Factor@{k\+Weight\+Conversion\+Factor}}
\index{k\+Weight\+Conversion\+Factor@{k\+Weight\+Conversion\+Factor}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{k\+Weight\+Conversion\+Factor}{kWeightConversionFactor}}]{\setlength{\rightskip}{0pt plus 5cm}const float Ship\+C\+A\+D\+::k\+Weight\+Conversion\+Factor = (1000/{\bf k\+Lbs})/((1/{\bf k\+Foot})$\ast$(1/{\bf k\+Foot})$\ast$(1/{\bf k\+Foot}))}\hypertarget{namespaceShipCAD_aa4319c8e7adfa68048f95c1614984036}{}\label{namespaceShipCAD_aa4319c8e7adfa68048f95c1614984036}


Definition at line 46 of file shipcadlib.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!k\+Z\+Buffer\+Scale\+Factor@{k\+Z\+Buffer\+Scale\+Factor}}
\index{k\+Z\+Buffer\+Scale\+Factor@{k\+Z\+Buffer\+Scale\+Factor}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{k\+Z\+Buffer\+Scale\+Factor}{kZBufferScaleFactor}}]{\setlength{\rightskip}{0pt plus 5cm}const float Ship\+C\+A\+D\+::k\+Z\+Buffer\+Scale\+Factor = 1.\+004f}\hypertarget{namespaceShipCAD_a519c591e5f5e3f60603b3133a4a2094e}{}\label{namespaceShipCAD_a519c591e5f5e3f60603b3133a4a2094e}


Definition at line 50 of file shipcadlib.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!k\+Zoomfactor@{k\+Zoomfactor}}
\index{k\+Zoomfactor@{k\+Zoomfactor}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{k\+Zoomfactor}{kZoomfactor}}]{\setlength{\rightskip}{0pt plus 5cm}const float Ship\+C\+A\+D\+::k\+Zoomfactor = 1.\+02f}\hypertarget{namespaceShipCAD_a80babe3fef93f1117e1c410f8d3c22c2}{}\label{namespaceShipCAD_a80babe3fef93f1117e1c410f8d3c22c2}


Definition at line 51 of file shipcadlib.\+h.

\index{Ship\+C\+AD@{Ship\+C\+AD}!O\+NE@{O\+NE}}
\index{O\+NE@{O\+NE}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{O\+NE}{ONE}}]{\setlength{\rightskip}{0pt plus 5cm}const Q\+Vector3D Ship\+C\+A\+D\+::\+O\+NE}\hypertarget{namespaceShipCAD_ad454d484187a50b115d2e77055617816}{}\label{namespaceShipCAD_ad454d484187a50b115d2e77055617816}
vector(1,1,1) \index{Ship\+C\+AD@{Ship\+C\+AD}!Z\+E\+RO@{Z\+E\+RO}}
\index{Z\+E\+RO@{Z\+E\+RO}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Z\+E\+RO}{ZERO}}]{\setlength{\rightskip}{0pt plus 5cm}const Q\+Vector3D Ship\+C\+A\+D\+::\+Z\+E\+RO}\hypertarget{namespaceShipCAD_a949bc53a1634b268b43de672807480fb}{}\label{namespaceShipCAD_a949bc53a1634b268b43de672807480fb}
vector(0,0,0) \index{Ship\+C\+AD@{Ship\+C\+AD}!Z\+E\+R\+O2@{Z\+E\+R\+O2}}
\index{Z\+E\+R\+O2@{Z\+E\+R\+O2}!Ship\+C\+AD@{Ship\+C\+AD}}
\subsubsection[{\texorpdfstring{Z\+E\+R\+O2}{ZERO2}}]{\setlength{\rightskip}{0pt plus 5cm}const Q\+Vector2D Ship\+C\+A\+D\+::\+Z\+E\+R\+O2}\hypertarget{namespaceShipCAD_ab47218dccdf4c94d5989b2e5b13d8603}{}\label{namespaceShipCAD_ab47218dccdf4c94d5989b2e5b13d8603}
vector(0,0) 